Generate StoreGlobal stubs with Hydrogen
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 1 Jul 2013 13:22:13 +0000 (13:22 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 1 Jul 2013 13:22:13 +0000 (13:22 +0000)
commita3bce1986847aa2e8956ceb2b5d8fe62637605c5
tree39d4eb8797bdd05a5732818be29822a35d193aee
parentfe22b459655a74936fa0c4ad81293574644b5e15
Generate StoreGlobal stubs with Hydrogen

- Constants globals are inlined into Hydrogen code using code dependencies that invalidate the Crankshafted code when global PropertyCells or the global object change.
- The more general case generates code that is just as good as the hand-written assembly stubs on all platforms.

R=ulan@chromium.org

Review URL: https://codereview.chromium.org/16925008

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@15419 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
26 files changed:
src/arm/code-stubs-arm.cc
src/arm/lithium-gap-resolver-arm.cc
src/ast.cc
src/code-stubs-hydrogen.cc
src/code-stubs.cc
src/code-stubs.h
src/heap.cc
src/heap.h
src/hydrogen-instructions.cc
src/hydrogen-instructions.h
src/hydrogen.cc
src/hydrogen.h
src/ia32/code-stubs-ia32.cc
src/ia32/lithium-codegen-ia32.h
src/ia32/lithium-gap-resolver-ia32.cc
src/ic.cc
src/ic.h
src/objects-inl.h
src/objects.cc
src/objects.h
src/runtime.cc
src/stub-cache.cc
src/stub-cache.h
src/x64/code-stubs-x64.cc
src/x64/lithium-gap-resolver-x64.cc
test/mjsunit/regress/regress-2618.js