Reviewers: Michael Starzinger,
Message:
Submitted for an initial review round, ia32 and x64 support is fully
functional,
2 (hopefully tiny) things are still missing on ARM and MIPS.
Description:
Deoptimization support for accessors.
Highlights of this CL:
* Introduced a new opcode in the deoptimizer for a setter stub frame.
* Added a global setter stub for returning after deoptimizing a setter.
* We do not need special deopt support for getters, although the getter
stub
creates an internal frame. The normal machinery works just right for this
case,
although we generate a stack that can never occur during normal fullcode
execution. If this hurts us one day, we can parameterize and reuse the
setter
deopt machinery.
Please review this at https://chromiumcodereview.appspot.com/10855098/
SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge
Affected files:
M include/v8.h
M src/arm/deoptimizer-arm.cc
M src/arm/lithium-codegen-arm.cc
M src/arm/stub-cache-arm.cc
M src/builtins.h
M src/builtins.cc
M src/deoptimizer.h
M src/deoptimizer.cc
M src/flag-definitions.h
M src/heap.h
M src/ia32/deoptimizer-ia32.cc
M src/ia32/lithium-codegen-ia32.cc
M src/ia32/stub-cache-ia32.cc
M src/mips/deoptimizer-mips.cc
M src/mips/lithium-codegen-mips.cc
M src/mips/stub-cache-mips.cc
M src/objects.cc
M src/stub-cache.h
M src/x64/deoptimizer-x64.cc
M src/x64/lithium-codegen-x64.cc
M src/x64/stub-cache-x64.cc
M test/mjsunit/compiler/inline-accessors.js
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev