Reviewers: Kasper Lund,

Description:
RFC: Switch to ast ids (instead of positions) for type feedback.

The goal here is to avoid having several pieces of type feedback tied
to a single position. Since everything else already relied on ast ids,
it seemed natural to use them for type feedback as well[*]. The
implementation squeezes in a new reloc info mode (CODE_TARGET_WITH_ID)
which is used for calls to IC stubs from the code generated by the
full codegen. The new mode should (in most cases) use just one extra
byte per call in the encoded form. The type feedback oracle can simply
focus on this reloc info mode.

[*]: I did play with disambiguating positions, but because of the
implicit way they are set, it's hard to be sure all the cases are
fixed.

Please review this at http://codereview.chromium.org/5699002/

Affected files:
  M src/accessors.cc
  M src/arm/lithium-arm.h
  M src/arm/lithium-arm.cc
  M src/assembler.h
  M src/assembler.cc
  M src/ast.h
  M src/ast.cc
  M src/compiler.h
  M src/compiler.cc
  M src/deoptimizer.h
  M src/deoptimizer.cc
  M src/disassembler.cc
  M src/frames.h
  M src/frames.cc
  M src/full-codegen.h
  M src/full-codegen.cc
  M src/handles.h
  M src/handles.cc
  M src/hydrogen-instructions.h
  M src/hydrogen.h
  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/deoptimizer-ia32.cc
  M src/ia32/full-codegen-ia32.cc
  M src/ia32/lithium-ia32.h
  M src/ia32/lithium-ia32.cc
  M src/ia32/macro-assembler-ia32.h
  M src/ia32/macro-assembler-ia32.cc
  M src/objects.h
  M src/objects.cc
  M src/runtime.cc
  M src/safepoint-table.h
  M src/type-info.h
  M src/type-info.cc
  M src/v8globals.h
  M test/cctest/test-debug.cc


--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev

Reply via email to