Reviewers: Kevin Millikin,
Message:
This is a first version.
Description:
Introduce number type information in the virtual frame.
Each frame element gets a new attribute with number type information. A
frame
element can be:
- smi
- heap number
- number (i.e. either of the above)
- or something else.
The type information is propagated along with all virtual frame operations.
Two optimizations in the code generator make use of the new
information:
- GenericBinaryOpSyub omits map checks if input operands are numbers.
- Boolean conversion for numbers: Emit inline code for converting a number
(smi
or heap number) to boolean. Do not emit call to ToBoolean stub in this case.
Please review this at http://codereview.chromium.org/545007
SVN Base: http://v8.googlecode.com/svn/branches/bleeding_edge/
Affected files:
M src/frame-element.h
M src/ia32/codegen-ia32.h
M src/ia32/codegen-ia32.cc
M src/ia32/virtual-frame-ia32.h
M src/ia32/virtual-frame-ia32.cc
M src/jump-target.cc
A src/numberinfo.h
M src/virtual-frame.cc
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev