Generate the TransitionElementsStub using Crankshaft
authordanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 4 Feb 2013 12:01:59 +0000 (12:01 +0000)
committerdanno@chromium.org <danno@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Mon, 4 Feb 2013 12:01:59 +0000 (12:01 +0000)
commit0c3575c87448c8aa60b3d43f7029a41b59fd408f
tree0f8e794776d26663f30c0ff9086f458ef00d6cc7
parent744d61ebe7d07b4772a5dd9dd2ab0b1ce1e9428c
Generate the TransitionElementsStub using Crankshaft

This includes:
* Adding support for saving callee-clobbered double registers in Crankshaft code.
* Adding a new "HTrapAllocationMemento" hydrogen instruction to handle AllocationSiteInfo data in crankshafted stubs.
* Adding a new "HAllocate" hydrogen instruction that can allocate raw memory from the GC in crankshafted code.
* Support for manipulation of the hole in HChange instructions for Crankshafted stubs.
* Utility routines to manually build loops and if statements containing hydrogen code.

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

git-svn-id: http://v8.googlecode.com/svn/branches/bleeding_edge@13585 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
50 files changed:
src/arm/assembler-arm.h
src/arm/code-stubs-arm.cc
src/arm/codegen-arm.cc
src/arm/deoptimizer-arm.cc
src/arm/lithium-arm.cc
src/arm/lithium-arm.h
src/arm/lithium-codegen-arm.cc
src/arm/lithium-codegen-arm.h
src/arm/macro-assembler-arm.cc
src/arm/macro-assembler-arm.h
src/code-stubs-hydrogen.cc
src/code-stubs.h
src/compiler.h
src/deoptimizer.h
src/flag-definitions.h
src/heap.h
src/hydrogen-instructions.cc
src/hydrogen-instructions.h
src/hydrogen.cc
src/hydrogen.h
src/ia32/assembler-ia32.h
src/ia32/code-stubs-ia32.cc
src/ia32/codegen-ia32.cc
src/ia32/deoptimizer-ia32.cc
src/ia32/lithium-codegen-ia32.cc
src/ia32/lithium-codegen-ia32.h
src/ia32/lithium-ia32.cc
src/ia32/lithium-ia32.h
src/ia32/macro-assembler-ia32.cc
src/ia32/macro-assembler-ia32.h
src/lithium-allocator-inl.h
src/lithium-allocator.cc
src/lithium-allocator.h
src/lithium.cc
src/lithium.h
src/runtime.cc
src/runtime.h
src/serialize.cc
src/x64/assembler-x64.h
src/x64/code-stubs-x64.cc
src/x64/codegen-x64.cc
src/x64/deoptimizer-x64.cc
src/x64/lithium-codegen-x64.cc
src/x64/lithium-codegen-x64.h
src/x64/lithium-x64.cc
src/x64/lithium-x64.h
src/x64/macro-assembler-x64.cc
src/x64/macro-assembler-x64.h
test/mjsunit/generated-transition-stub.js [new file with mode: 0644]
test/mjsunit/mjsunit.status