Reviewers: ulan, Jakob,

Message:
Hi Ulan, hi Jakob,
This is an involved fix, I needed to:

* Distinguish between two kinds of feedback vector slots, here named "ic slots"
and "slots."
* Make vector-based ICs (here, only call ic) correctly update statistics in the
vector rather than the TypeFeedbackInfo in the host.
* Increase the capabilities of the TypeFeedbackVector to manage and hide
information about the slots and the statistics in the vector.
* Pass the vector to the IC clearing mechanism.
* Tests!

I spoke with Ulan the most about the implementation, but Jakob you are familiar
with runtime profiling and may have some comments about that and ICs
specifically.
Thanks,
--Michael

Description:
vector-based ICs did not update type feedback counts correctly.

BUG=v8:3605
LOG=N


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

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

Affected files (+811, -321 lines):
  M src/arm/code-stubs-arm.cc
  M src/arm/full-codegen-arm.cc
  M src/arm/lithium-codegen-arm.cc
  M src/arm64/code-stubs-arm64.cc
  M src/arm64/full-codegen-arm64.cc
  M src/arm64/lithium-codegen-arm64.cc
  M src/ast.h
  M src/ast.cc
  M src/bootstrapper.cc
  M src/compiler.cc
  M src/compiler/ast-graph-builder.h
  M src/compiler/ast-graph-builder.cc
  M src/compiler/js-operator.h
  M src/factory.h
  M src/factory.cc
  M src/full-codegen.h
  M src/full-codegen.cc
  M src/heap/objects-visiting-inl.h
  M src/hydrogen-instructions.h
  M src/ia32/code-stubs-ia32.cc
  M src/ia32/full-codegen-ia32.cc
  M src/ia32/lithium-codegen-ia32.cc
  M src/ic/ic.h
  M src/ic/ic.cc
  M src/ic/ic-inl.h
  M src/ic/ic-state.h
  M src/ic/ic-state.cc
  M src/isolate.cc
  M src/liveedit.h
  M src/liveedit.cc
  M src/mips/code-stubs-mips.cc
  M src/mips/full-codegen-mips.cc
  M src/mips/lithium-codegen-mips.cc
  M src/objects.h
  M src/objects.cc
  M src/objects-debug.cc
  M src/objects-inl.h
  M src/objects-printer.cc
  M src/runtime-profiler.cc
  M src/type-feedback-vector.h
  M src/type-feedback-vector.cc
  M src/type-feedback-vector-inl.h
  M src/type-info.h
  M src/type-info.cc
  M src/utils.h
  M src/x64/code-stubs-x64.cc
  M src/x64/full-codegen-x64.cc
  M src/x64/lithium-codegen-x64.cc
  M test/cctest/cctest.gyp
  M test/cctest/test-compiler.cc
  A test/cctest/test-feedback-vector.cc
  M test/cctest/test-heap.cc
  M test/unittests/compiler/js-typed-lowering-unittest.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/d/optout.

Reply via email to