Go to file
kmillikin@chromium.org 846688f825 Recognize in the fast-mode code generator when a subexpression is a
constant known at compile time.  Do not ever use the stack to
materialize (non-function-argument) constants.  Currently, constants
are only the non-materialized, non-function literals in the AST.

It is a known issue that there is no test coverage for the cases of
assigning a non-literal to a variable and returning a literal.  Those
code paths are unreachable and tests will be added when they become
reachable.

For the code '.result = true', we had previously on ia32:

27  push 0xf5c28161             ;; object: 0xf5c28161 <true>
32  pop [ebp+0xf4]

Now:

27  mov eax,0xf5c26161          ;; object: 0xf5c26161 <true>
32  mov [ebp+0xf4],eax

======== We had previously on x64:

25  movq r10,0x7fb8c2f78199    ;; object: 0x7fb8c2f78199 <true>
35  push r10
37  pop [rbp-0x18]

Now:

25  movq r10,0x7fb131386199    ;; object: 0x7fb131386199 <true>
35  movq [rbp-0x18],r10

The generated code for ARM did not include the extra memory traffic.
It was already eliminated by the ARM assembler's push/pop elimination.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3088 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
2009-10-19 10:36:42 +00:00
benchmarks Remove svn:executable flag from run.html and style.css and change the mime-type of style.css to text/css. 2009-07-15 10:37:10 +00:00
include Move implementation of Integer::NewFromUnsigned into api.cc. 2009-10-16 12:51:18 +00:00
samples Add a "read" extension to the shell programs. This global function 2009-04-17 21:04:34 +00:00
src Recognize in the fast-mode code generator when a subexpression is a 2009-10-19 10:36:42 +00:00
test Redo "running" field in debug-delay.js and support "suspend" command 2009-10-15 20:06:08 +00:00
tools Added first support for tracking locations of expressions in the 2009-10-15 16:42:22 +00:00
.gitignore X64: Fix bugs affecting Win64. 2009-10-13 10:56:13 +00:00
AUTHORS Land change by Jan de Mooij to change the toString behavior of 2009-09-17 11:11:01 +00:00
ChangeLog Preparing to push to trunk. Now working on 1.3.17. 2009-10-16 11:33:39 +00:00
LICENSE Get rid of duplicate LICENSE entry for the Valgrind 2009-09-27 09:33:11 +00:00
SConstruct X64: Fix bugs affecting Win64. 2009-10-13 10:56:13 +00:00