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.