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

Reply via email to