• rossberg's avatar
    Steps towards unification of number bitset and range types. · 2764fd8d
    rossberg authored
    - New invariant on union types: if the union has a range then the number
      bits in the bitset must be cleared.
    
    - Various tweaks in intersection and union to satisfy the invariant.
    
    - Exposed and used representation bits in range types (and the Limits
      helper class).
    
    - Implemented Glb for ranges so that the Is predicate handles
      ranges correctly.
    
    - Change typer weakening so that it does not rely on GetRange.
      However, the code still seems to be a bit fragile.
    
    - Removed the Smi types from the type system core, instead introduced
      Signed31, Unsigned30 and created constructors for Small(Un)Signed
      that point to the right type for the architecture.
    
    - Punched a hole in the config to be able to get to the isolate so
      that it is possible to allocate heap numbers for newly created
      ranges.
    
    Patch by jarin@chromium.prg, original review here:
    https://codereview.chromium.org/795713003/
    
    TBR=jarin@chromium.org
    BUG=
    
    Review URL: https://codereview.chromium.org/837723006
    
    Cr-Commit-Position: refs/heads/master@{#26197}
    2764fd8d
Name
Last commit
Last update
..
arm Loading commit data...
arm64 Loading commit data...
ia32 Loading commit data...
mips Loading commit data...
mips64 Loading commit data...
x64 Loading commit data...
change-lowering-unittest.cc Loading commit data...
common-operator-reducer-unittest.cc Loading commit data...
common-operator-unittest.cc Loading commit data...
compiler-test-utils.h Loading commit data...
control-equivalence-unittest.cc Loading commit data...
diamond-unittest.cc Loading commit data...
graph-reducer-unittest.cc Loading commit data...
graph-unittest.cc Loading commit data...
graph-unittest.h Loading commit data...
instruction-selector-unittest.cc Loading commit data...
instruction-selector-unittest.h Loading commit data...
instruction-sequence-unittest.cc Loading commit data...
instruction-sequence-unittest.h Loading commit data...
js-builtin-reducer-unittest.cc Loading commit data...
js-operator-unittest.cc Loading commit data...
js-typed-lowering-unittest.cc Loading commit data...
load-elimination-unittest.cc Loading commit data...
loop-peeling-unittest.cc Loading commit data...
machine-operator-reducer-unittest.cc Loading commit data...
machine-operator-unittest.cc Loading commit data...
move-optimizer-unittest.cc Loading commit data...
node-matchers-unittest.cc Loading commit data...
node-properties-unittest.cc Loading commit data...
node-test-utils.cc Loading commit data...
node-test-utils.h Loading commit data...
node-unittest.cc Loading commit data...
opcodes-unittest.cc Loading commit data...
register-allocator-unittest.cc Loading commit data...
select-lowering-unittest.cc Loading commit data...
simplified-operator-reducer-unittest.cc Loading commit data...
simplified-operator-unittest.cc Loading commit data...
value-numbering-reducer-unittest.cc Loading commit data...
zone-pool-unittest.cc Loading commit data...