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.