Reviewers: mvstanton,

Message:
With parallel recompilation, execution continues between graph creation and code generation and may have altered the heap. To avoid inconsistencies between graph creation and code generation, we prohibit the code generation phase to access objects used in the graph creation phase. This would prevent us from accessing
potentially outdated/inconsistent information. Those objects are kept in
deferred handles, providing us with a nice point to place checks.

Since those objects are handed to the code generation phase for a reason
(usually for embedding into the code), we have to make exceptions in some cases (using the ALLOW_HANDLE_DEREF macro). In other cases, we circumvent the need to
access handles by prefetching the required information in the graph creation
phase.

Please start with handles.h and handles-inl.h.

Description:
Disallow dereferencing deferred handles when generating optimized code.


[email protected]
BUG=

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

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

Affected files:
  M src/arm/assembler-arm.cc
  M src/arm/lithium-arm.h
  M src/arm/lithium-codegen-arm.h
  M src/arm/lithium-codegen-arm.cc
  M src/arm/macro-assembler-arm.h
  M src/arm/macro-assembler-arm.cc
  M src/arm/stub-cache-arm.cc
  M src/code.h
  M src/compiler.cc
  M src/factory.cc
  M src/handles-inl.h
  M src/handles.h
  M src/hydrogen-instructions.h
  M src/hydrogen-instructions.cc
  M src/hydrogen.cc
  M src/ia32/assembler-ia32-inl.h
  M src/ia32/assembler-ia32.h
  M src/ia32/assembler-ia32.cc
  M src/ia32/lithium-codegen-ia32.h
  M src/ia32/lithium-codegen-ia32.cc
  M src/ia32/lithium-ia32.h
  M src/ia32/macro-assembler-ia32.h
  M src/ia32/macro-assembler-ia32.cc
  M src/ia32/stub-cache-ia32.cc
  M src/isolate.h
  M src/isolate.cc
  M src/objects.cc
  M src/x64/assembler-x64.cc
  M src/x64/lithium-codegen-x64.h
  M src/x64/lithium-codegen-x64.cc
  M src/x64/lithium-x64.h
  M src/x64/macro-assembler-x64.h
  M src/x64/macro-assembler-x64.cc
  M src/x64/stub-cache-x64.cc


--
--
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/groups/opt_out.


Reply via email to