Reviewers: Benedikt Meurer,

Message:
Could you take a look, please?

Description:
Fix deoptimization address patching in Turbofan to use safepoints.

Since the deopt patch address needs to be available during GC to
resolve safepoints, we need to move it to the code object (instead of
the deoptimization input data) - accessing a separate fixed array
is not safe during GC. This CL adds a deoptimization_pc field to
each safepoint. The fields points to the deoptimization block.

The CL also fixes wrong register allocator constraints for
frame states on calls. These should always live on the stack
because registers are not preserved during a call.

BUG=

Please review this at https://codereview.chromium.org/504493002/

SVN Base: https://v8.googlecode.com/svn/branches/bleeding_edge

Affected files (+159, -185 lines):
  M src/arm/lithium-codegen-arm.cc
  M src/arm64/lithium-codegen-arm64.cc
  M src/compiler/code-generator.h
  M src/compiler/code-generator.cc
  M src/compiler/instruction-selector.cc
  M src/deoptimizer.cc
  M src/ia32/lithium-codegen-ia32.cc
  M src/mips/lithium-codegen-mips.cc
  M src/mips64/lithium-codegen-mips64.cc
  M src/objects.h
  M src/objects.cc
  M src/objects-inl.h
  M src/safepoint-table.h
  M src/safepoint-table.cc
  M src/x64/lithium-codegen-x64.cc
  M src/x87/lithium-codegen-x87.cc
  M test/cctest/compiler/test-codegen-deopt.cc
  M test/mjsunit/mjsunit.status


--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
--- You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/d/optout.

Reply via email to