Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(230)

Issue 1670813005: Revert of Type Feedback Vector lives in the closure (Closed)

Created:
4 years, 10 months ago by mvstanton
Modified:
4 years, 10 months ago
Reviewers:
Benedikt Meurer
CC:
v8-reviews_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, Yang, v8-mips-ports_googlegroups.com, rmcilroy, Hannes Payer (out of office), ulan, oth
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Revert of Type Feedback Vector lives in the closure (patchset #2 id:40001 of https://codereview.chromium.org/1668103002/ ) Reason for revert: Must revert for now due to chromium api natives issues. Original issue's description: > Type Feedback Vector lives in the closure > > (RELAND: the problem before was a missing write barrier for adding the code > entry to the new closure. It's been addressed with a new macro instruction > and test. The only change to this CL is the addition of two calls to > __ RecordWriteCodeEntryField() in the platform CompileLazy builtin.) > > We get less "pollution" of type feedback if we have one vector per native > context, rather than one for the whole system. This CL moves the vector > appropriately. > > We rely more heavily on the Optimized Code Map in the SharedFunctionInfo. The > vector actually lives in the first slot of the literals array (indeed there is > great commonality between those arrays, they can be thought of as the same > thing). So we make greater effort to ensure there is a valid literals array > after compilation. > > This meant, for performance reasons, that we needed to extend > FastNewClosureStub to support creating closures with literals. And ultimately, > it drove us to move the optimized code map lookup out of FastNewClosureStub > and into the compile lazy builtin. > > The heap change is trivial so I TBR Hannes for it... > Also, Yang has had a look at the debugger changes already and approved 'em. So he is TBR style too. > And Benedikt reviewed it as well. > > TBR=hpayer@chromium.org, yangguo@chromium.org, bmeurer@chromium.org > > BUG= > > Committed: https://crrev.com/bb31db3ad6de16f86a61f6c7bbfd3274e3d957b5 > Cr-Commit-Position: refs/heads/master@{#33741} TBR=bmeurer@chromium.org # Skipping CQ checks because original CL landed less than 1 days ago. NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true BUG= Committed: https://crrev.com/3f36e658c8e821efd3bdeeab390002858d301baa Cr-Commit-Position: refs/heads/master@{#33766}

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+562 lines, -1281 lines) Patch
M src/arm/builtins-arm.cc View 1 chunk +0 lines, -147 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/arm64/builtins-arm64.cc View 1 chunk +0 lines, -131 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/code-stubs.cc View 1 chunk +5 lines, -1 line 0 comments Download
M src/code-stubs-hydrogen.cc View 3 chunks +203 lines, -10 lines 0 comments Download
M src/compiler.h View 2 chunks +4 lines, -4 lines 0 comments Download
M src/compiler.cc View 15 chunks +27 lines, -37 lines 0 comments Download
M src/compiler/access-builder.h View 2 chunks +2 lines, -5 lines 0 comments Download
M src/compiler/access-builder.cc View 1 chunk +2 lines, -9 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 2 chunks +4 lines, -4 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 2 chunks +4 lines, -5 lines 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/compiler/js-inlining.cc View 1 chunk +0 lines, -3 lines 0 comments Download
M src/crankshaft/hydrogen.h View 1 chunk +1 line, -4 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 2 chunks +2 lines, -5 lines 0 comments Download
M src/crankshaft/typing.cc View 2 chunks +2 lines, -1 line 0 comments Download
M src/debug/debug.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M src/debug/liveedit.h View 1 chunk +1 line, -1 line 0 comments Download
M src/debug/liveedit.cc View 7 chunks +15 lines, -23 lines 0 comments Download
M src/deoptimizer.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/factory.h View 1 chunk +1 line, -1 line 0 comments Download
M src/factory.cc View 4 chunks +10 lines, -8 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/full-codegen/full-codegen.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 chunk +5 lines, -2 lines 0 comments Download
M src/heap/heap.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/heap/heap.cc View 1 chunk +0 lines, -8 lines 0 comments Download
M src/heap/objects-visiting-inl.h View 2 chunks +3 lines, -4 lines 0 comments Download
M src/ia32/builtins-ia32.cc View 1 chunk +0 lines, -140 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-generator.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/interpreter/interpreter.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/mips/builtins-mips.cc View 1 chunk +0 lines, -142 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/mips64/builtins-mips64.cc View 1 chunk +0 lines, -142 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M src/objects.h View 11 chunks +15 lines, -32 lines 0 comments Download
M src/objects.cc View 5 chunks +10 lines, -43 lines 0 comments Download
M src/objects-debug.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/objects-inl.h View 5 chunks +7 lines, -39 lines 0 comments Download
M src/objects-printer.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/profiler/heap-snapshot-generator.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M src/runtime-profiler.cc View 5 chunks +11 lines, -9 lines 0 comments Download
M src/runtime/runtime.h View 3 chunks +2 lines, -1 line 0 comments Download
M src/runtime/runtime-compiler.cc View 1 chunk +0 lines, -16 lines 0 comments Download
M src/runtime/runtime-function.cc View 2 chunks +8 lines, -6 lines 0 comments Download
M src/runtime/runtime-scopes.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/runtime/runtime-test.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/snapshot/serialize.cc View 1 chunk +2 lines, -9 lines 0 comments Download
M src/type-feedback-vector.h View 2 chunks +2 lines, -4 lines 0 comments Download
M src/type-feedback-vector.cc View 3 chunks +3 lines, -37 lines 0 comments Download
M src/type-feedback-vector-inl.h View 1 chunk +5 lines, -5 lines 0 comments Download
M src/x64/builtins-x64.cc View 1 chunk +0 lines, -128 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M test/cctest/cctest.status View 2 chunks +4 lines, -7 lines 0 comments Download
M test/cctest/compiler/function-tester.h View 2 chunks +0 lines, -2 lines 0 comments Download
M test/cctest/compiler/test-run-jscalls.cc View 2 chunks +0 lines, -2 lines 0 comments Download
M test/cctest/heap/test-heap.cc View 16 chunks +101 lines, -22 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-compiler.cc View 8 chunks +21 lines, -15 lines 0 comments Download
M test/cctest/test-feedback-vector.cc View 10 chunks +10 lines, -10 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 chunk +0 lines, -3 lines 0 comments Download
M test/unittests/compiler/interpreter-assembler-unittest.cc View 1 chunk +10 lines, -8 lines 0 comments Download

Messages

Total messages: 5 (1 generated)
mvstanton
Created Revert of Type Feedback Vector lives in the closure
4 years, 10 months ago (2016-02-05 10:47:55 UTC) #1
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1670813005/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1670813005/1
4 years, 10 months ago (2016-02-05 10:48:02 UTC) #2
commit-bot: I haz the power
Committed patchset #1 (id:1)
4 years, 10 months ago (2016-02-05 10:48:32 UTC) #3
commit-bot: I haz the power
4 years, 10 months ago (2016-02-05 10:48:40 UTC) #5
Message was sent while issue was closed.
Patchset 1 (id:??) landed as
https://crrev.com/3f36e658c8e821efd3bdeeab390002858d301baa
Cr-Commit-Position: refs/heads/master@{#33766}

Powered by Google App Engine
This is Rietveld 408576698