
Compiler Construction
Description
Alles über E-Books | Antworten auf Fragen rund um E-Books, Kopierschutz und Dateiformate finden Sie in unserem Info- & Hilfebereich.
More details
Other editions
Additional editions

Content
- Title Page
- Foreword
- Preface
- Organization
- Table of Contents
- Invited Talk
- Future-Proofing Collections: From Mutable to Persistent to Parallel
- JIT Compilation and Code Generation
- Dynamic Elimination of Overflow Tests in a Trace Compiler
- Introduction
- TraceMonkey in a Nutshell
- Flow Sensitive Range Analysis
- Construction of the Constraint Graph
- Range Propagation
- Complexity Analysis
- Experimental Results
- Related Work
- Conclusion
- References
- Staged Static Techniques to Efficiently Implement Array Copy Semantics in a MATLAB JIT Compiler
- Introduction
- Background
- Quick Check
- Necessary Copy Analysis
- if-else Statement
- Loops
- Copy Placement Analysis
- Copy Placement Analysis Details
- Using the Analyses
- Experimental Results
- Dynamic Counts of Array Updates and Copies
- The Overhead of Dynamic Checks
- Impact of Our Analyses
- Related Work
- Conclusions and Future Work
- References
- SSA-Based Register Allocation with PBQP
- Introduction
- Related Work
- Register Allocation on SSA Form
- PBQP-Based Register Allocation
- PBQP
- PBQP in General
- PBQP Construction
- Solving PBQP Instances
- Adapting the PBQP Solver for SSA-Based Register Allocation
- Register Constraints
- Restricting Operands
- Relaxing Constraints
- Obtaining a Coloring Order
- Evaluation
- Early vs. Late Decision
- Effects of RM
- Speed Evaluation
- Quality Evaluation
- Future Work
- Conclusion
- References
- Program Analysis
- Probabilistic Points-to Analysis for Java
- Introduction
- Example
- Probabilistic Points-to Analysis for Java
- Probabilistic Points-to Graph
- Intraprocedural Analysis
- Interprocedural Analysis
- Implementation
- Experiments
- Precision of Points-to Analysis
- Precision of Probabilities
- Analysis Performance
- Threats to Validity
- Related Work
- Conclusions
- References
- Faster Alias Set Analysis Using Summaries
- Introduction
- Alias Set Analysis
- Intermediate Representation and Control Flow Graph
- Intra-procedural Alias Set Analysis
- Inter-procedural Alias Set Analysis
- Callee Summaries
- Computing Callee Summaries
- Using Callee Summaries
- Caller Summaries
- Experiments
- Shadow Statistics
- Efficiency
- Client Analysis Precision
- Fine-Grained Precision Metrics
- Related Work
- Summary
- References
- JPure: A Modular Purity System for Java
- Introduction
- A Simple Purity System
- Overview
- Modular Checking
- Problem 1 - Iterator
- Problem 2 - Append
- Our Improved Purity System
- Freshness and Locality
- Understanding Locality
- Locality Invariants
- The Law of Locality
- Implementation
- Intermediate Language
- Overview
- Abstract Semantics
- Dataflow Equations
- Purity Checking
- Purity Inference
- Experimental Results
- Discussion
- Related Work
- Conclusion
- References
- Tainted Flow Analysis on e-SSA-Form Programs
- Introduction
- Examples of Tainted Flow Attacks
- Cross-Site Scripting
- SQL Injection Attacks
- Formal Definition and Previous Solution
- The Proposed Solution
- E-SSA Form Is the Linchpin of Fast Tainted Flow Analysis
- Tainted Analysis as Graph Reachability
- Addressing Aliasing with HSSA
- A Solution Quadratic in Time and Space
- Experiments
- An Example of a Real-World Bug
- Related Work
- Conclusion
- References
- Reversible Computing and Interpreters
- Clean Translation of an Imperative Reversible Programming Language
- Introduction
- Languages
- Source Language: Janus
- Target Language: PISA
- Motivation
- Translation
- Overall Program Structure
- Procedure Definitions and Procedure Calls
- Reversible Assignments
- Control Flow Operators
- Expression Evaluation
- Implementation
- Related Work
- Conclusion and Future Work
- References
- Interpreter Instruction Scheduling
- Motivation
- Background
- Implementation
- Scheduling in the Presence of Repeating Sub-sequences
- Compilation of the Interpreter
- Evaluation
- Related Work
- Conclusion
- References
- Parallelism and High-Performance Computing
- Actor-Based Parallel Dataflow Analysis
- Introduction
- Related Work
- Baseline Sequential Algorithm: E-IFDS
- The Actor Model
- Actor-Based Parallel Algorithm: IFDS-A
- Implementation
- The Variable Type Analysis
- Scheduling Actor Executions
- Evaluation
- Available Parallelism
- Performance
- Conclusions
- References
- Using Disjoint Reachability for Parallelization
- Introduction
- Basic Approach
- Contributions
- Example
- Intraprocedural Analysis
- Analysis Abstractions
- Program Representation
- Reachability Graph Elements
- Reachability Annotations
- Intraprocedural Analysis
- Method Entry
- Copy Statement
- Load Statement
- Object Allocation Statement
- Store Statement
- Element Load and Store Statements
- Return Statement
- Control Flow Join Points
- Global Pruning
- Static Fields
- Interprocedural Analysis
- Compute Callee Context Subgraph
- Out-of-Context Reachability
- Merge Graphs
- Predicates
- Specializing the Graph
- Splice in Subgraph
- Merging Heap Nodes
- Global Pruning
- Evaluation
- Benchmarks
- Disjoint Reachability Analysis Results
- Parallelization Speedups
- Related Work
- Shape Analysis
- Alias and Pointer Analysis
- Other Analyses and Type Systems
- Conclusion
- References
- Appendix
- Semantics for Intraprocedural Analysis
- Termination
- Soundness of the Core Intraprocedural Analysis
- Interprocedural Analysis
- Data Layout Transformation for Stencil Computationson Short-Vector SIMD Architectures
- Introduction
- Background and Overview of Approach
- Illustrative Example
- Stream Alignment Conflict
- Data Layout Transformation
- Dimension-Lifted Transposition
- Stencil Computations on Transformed Layout
- Framework for Stream Alignment Conflict
- Program Representation
- Candidate Vector Loops
- Detection of Stream Alignment Conflict
- Experimental Evaluation
- Hardware
- Stencil Codes
- Results
- Related Work
- Conclusions
- References
- Subregion Analysis and Bounds Check Elimination for High Level Arrays
- Introduction
- Points, Regions and Arrays
- Region Analysis
- Intraprocedural Region Analysis
- Interprocedural Region Analysis
- Rectangular Region Algebra
- Interprocedural Linearized Array Bounds Analysis
- Bounds Check Elimination
- Array Views
- Experimental Results
- Related Work
- Conclusions
- References
- Task and Data Distribution
- Practical Loop Transformations for Tensor Contraction Expressions on Multi-level Memory Hierarchies
- Introduction
- Background
- Problem Statement and Notation
- Single Contraction Optimization
- Multi-level Memory Hierarchies
- Fusion for Tensor Contraction Sequences
- Two-Level Memory Hierarchy
- Multi-level Memory Hierarchies
- Experimental Evaluation
- Effectiveness on Different Expressions
- Scalability Study
- Related Work
- Conclusions
- References
- A Static Task Partitioning Approach for Heterogeneous Systems Using OpenCL
- Introduction
- The OpenCL Programming Framework
- Motivation
- Partitioning Data-Parallel Tasks
- Static Code Feature Extraction
- Building the Predictor
- Deployment
- Support Vector Machines
- Methodology
- Experimental Setup
- Evaluation Methodology
- Results
- Speedup Over Single-Core Performance
- Prediction Accuracy
- Related Work
- Conclusion
- References
- Author Index
System requirements
File format: PDF
Copy protection: Watermark-DRM (Digital Rights Management)
System requirements:
- Computer (Windows; MacOS X; Linux): Use the free software Adobe Reader, Adobe Digital Editions, or any other PDF viewer of your choice (see eBook Help).
- Tablet/Smartphone (Android; iOS): Install the free app Adobe Digital Editions or another reading app for eBooks, e.g., PocketBook (see eBook Help).
- E-reader: Bookeen, Kobo, Pocketbook, Sony, Tolino and many more (only limited: Kindle).
The file format PDF always displays a book page identically on any hardware. This makes PDF suitable for complex layouts such as those used in textbooks and reference books (images, tables, columns, footnotes). Unfortunately, on the small screens of e-readers or smartphones, PDFs are rather annoying, requiring too much scrolling.
This eBook uses Watermark-DRM, a „soft” copy protection. This means that there are no technical restrictions to prevent illegal distribution. However, there is a personalised watermark embedded in the eBook that can be used to identify the purchaser of the eBook in the event of misuse and to provide evidence for legal purposes.
For more information, see our eBook Help page.