Initial implementation of fast path operation for bitwise OR.
authorkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 9 Feb 2010 13:44:43 +0000 (13:44 +0000)
committerkmillikin@chromium.org <kmillikin@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Tue, 9 Feb 2010 13:44:43 +0000 (13:44 +0000)
commit9b5c312bfc2a0dca2560ce36244e9770e2f1a2ef
tree0ea1b150fb2f2affc306084329d1bed96b20b8b1
parent96127b68e5b371ee5248bafc888ab661b22cefb1
Initial implementation of fast path operation for bitwise OR.

Support a binary operation (bitwise OR) so long as it's not nested in
the left subexpression.  This ensures that the expression stack never
has height greater than two and so can be kept fully in registers.

The bounded expression stack height and the absence of any side
effects on the fast path allows us to still bailout out to the very
beginning of the function if any of our fast-path checks fail.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@3822 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
src/arm/fast-codegen-arm.cc
src/ast.h
src/data-flow.cc
src/fast-codegen.cc
src/fast-codegen.h
src/ia32/fast-codegen-ia32.cc
src/x64/fast-codegen-x64.cc
test/mjsunit/compiler/this-property-refs.js [new file with mode: 0644]