Reviewers: rossberg,

Message:
Could you take a look, please?

Description:
Steps towards unification of number bitset and range types.

- 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.

[email protected]
BUG=

Please review this at https://codereview.chromium.org/795713003/

Base URL: https://chromium.googlesource.com/v8/v8.git@master

Affected files (+476, -250 lines):
  M src/compiler/change-lowering.cc
  M src/compiler/typer.cc
  M src/types.h
  M src/types.cc
  M src/types-inl.h
  M test/cctest/compiler/test-js-typed-lowering.cc
  M test/cctest/test-types.cc
  M test/cctest/types-fuzz.h
  M test/unittests/compiler/change-lowering-unittest.cc
  M test/unittests/compiler/js-builtin-reducer-unittest.cc


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to