Instruct: Identify the main and secondary category of Arxiv papers based on the titles and abstracts
Query: Simple and Effective Type Check Removal through Lazy Basic Block
  Versioning   Dynamically typed programming languages such as JavaScript and Python defer
type checking to run time. In order to maximize performance, dynamic language
VM implementations must attempt to eliminate redundant dynamic type checks.
However, type inference analyses are often costly and involve tradeoffs between
compilation time and resulting precision. This has lead to the creation of
increasingly complex multi-tiered VM architectures.
  This paper introduces lazy basic block versioning, a simple JIT compilation
technique which effectively removes redundant type checks from critical code
paths. This novel approach lazily generates type-specialized versions of basic
blocks on-the-fly while propagating context-dependent type information. This
does not require the use of costly program analyses, is not restricted by the
precision limitations of traditional type analyses and avoids the
implementation complexity of speculative optimization techniques.
  We have implemented intraprocedural lazy basic block versioning in a
JavaScript JIT compiler. This approach is compared with a classical flow-based
type analysis. Lazy basic block versioning performs as well or better on all
benchmarks. On average, 71% of type tests are eliminated, yielding speedups of
up to 50%. We also show that our implementation generates more efficient
machine code than TraceMonkey, a tracing JIT compiler for JavaScript, on
several benchmarks. The combination of implementation simplicity, low
algorithmic complexity and good run time performance makes basic block
versioning attractive for baseline JIT compilers.

35
The categories of this paper are: mtrl-th
22
The categories of this paper are: chao-dyn
37
The categories of this paper are: supr-con
0
The categories of this paper are: hep-ph
2
The categories of this paper are: math
36
The categories of this paper are: cmp-lg
11
The categories of this paper are: hep-lat
25
The categories of this paper are: patt-sol
32
The categories of this paper are: atom-ph
9
The categories of this paper are: nlin
28
The categories of this paper are: alg-geom
10
The categories of this paper are: q-bio
24
The categories of this paper are: dg-ga
21
The categories of this paper are: adap-org
13
The categories of this paper are: quant-ph
34
The categories of this paper are: chem-ph