v8/src/x64
fschneider@chromium.org dbe99e405a 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. 
Results popped from the frame carry the number information with them.

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.


Review URL: http://codereview.chromium.org/545007

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3861 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2010-02-15 14:24:38 +00:00
..
assembler-x64-inl.h Fix warnings on Win64. 2009-11-11 09:50:06 +00:00
assembler-x64.cc Ported ia32 optimization of revision 3487 to x64. 2010-02-09 13:10:32 +00:00
assembler-x64.h Fix array allocation in generated code on x64 2010-02-12 13:49:57 +00:00
builtins-x64.cc Fix array allocation in generated code on x64 2010-02-12 13:49:57 +00:00
codegen-x64-inl.h Remove complicated Math.sin and Math.cos optimizations that do not buy 2009-12-21 13:30:10 +00:00
codegen-x64.cc Introduce number type information in the virtual frame. 2010-02-15 14:24:38 +00:00
codegen-x64.h Introduce number type information in the virtual frame. 2010-02-15 14:24:38 +00:00
cpu-x64.cc Apply patch by Timur Iskhodzhanov to add valgrind notifications on 2009-10-26 17:53:34 +00:00
debug-x64.cc Review URL: http://codereview.chromium.org/555164 2010-02-02 18:35:53 +00:00
disasm-x64.cc Ported ia32 optimization of revision 3487 to x64. 2010-02-09 13:10:32 +00:00
fast-codegen-x64.cc Simple type tracking in the fast code generator. 2010-02-11 08:41:19 +00:00
frames-x64.cc Reverting 3174. Aka reapplying 3150, 3151 and 3159. Aka api accessor 2009-11-04 08:51:48 +00:00
frames-x64.h Reverting 3174. Aka reapplying 3150, 3151 and 3159. Aka api accessor 2009-11-04 08:51:48 +00:00
full-codegen-x64.cc Port change in CallIC interface to x64 platform. Name of called function is now passed in rcx. 2010-02-12 08:53:13 +00:00
ic-x64.cc Compile very thin code to access objects on which indexed interceptor is set. 2010-02-12 14:21:18 +00:00
jump-target-x64.cc Eliminate most of the jump target jumping, branching, and binding 2009-08-10 11:13:34 +00:00
macro-assembler-x64.cc Introduce number type information in the virtual frame. 2010-02-15 14:24:38 +00:00
macro-assembler-x64.h Introduce number type information in the virtual frame. 2010-02-15 14:24:38 +00:00
regexp-macro-assembler-x64.cc Port direct call from JavaScript to native RegExp to x64 2010-01-29 10:33:27 +00:00
regexp-macro-assembler-x64.h Port direct call from JavaScript to native RegExp to x64 2010-01-29 10:33:27 +00:00
register-allocator-x64-inl.h Use a root array register for constant loads and stack guards on x64. 2009-08-31 08:57:36 +00:00
register-allocator-x64.cc X64: Count operations (increment, decrement) 2009-06-25 11:48:27 +00:00
register-allocator-x64.h Use a root array register for constant loads and stack guards on x64. 2009-08-31 08:57:36 +00:00
simulator-x64.cc Added empty files in the x64 directory. 2009-05-04 07:16:10 +00:00
simulator-x64.h Don't pass the "at start" parameter to native RegExp 2010-01-26 11:08:42 +00:00
stub-cache-x64.cc Change the interface of CallStubCompiler::CompileCallInterceptor. 2010-02-15 13:20:49 +00:00
virtual-frame-x64.cc Introduce number type information in the virtual frame. 2010-02-15 14:24:38 +00:00
virtual-frame-x64.h Introduce number type information in the virtual frame. 2010-02-15 14:24:38 +00:00