3f36e658c8
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= Review URL: https://codereview.chromium.org/1670813005 Cr-Commit-Position: refs/heads/master@{#33766} |
||
---|---|---|
.. | ||
c-signature.h | ||
call-tester.h | ||
codegen-tester.cc | ||
codegen-tester.h | ||
function-tester.h | ||
graph-builder-tester.h | ||
test-basic-block-profiler.cc | ||
test-branch-combine.cc | ||
test-changes-lowering.cc | ||
test-code-stub-assembler.cc | ||
test-gap-resolver.cc | ||
test-graph-visualizer.cc | ||
test-instruction.cc | ||
test-js-constant-cache.cc | ||
test-js-context-specialization.cc | ||
test-js-typed-lowering.cc | ||
test-jump-threading.cc | ||
test-linkage.cc | ||
test-loop-analysis.cc | ||
test-loop-assignment-analysis.cc | ||
test-machine-operator-reducer.cc | ||
test-multiple-return.cc | ||
test-node.cc | ||
test-operator.cc | ||
test-osr.cc | ||
test-pipeline.cc | ||
test-representation-change.cc | ||
test-run-bytecode-graph-builder.cc | ||
test-run-deopt.cc | ||
test-run-inlining.cc | ||
test-run-intrinsics.cc | ||
test-run-jsbranches.cc | ||
test-run-jscalls.cc | ||
test-run-jsexceptions.cc | ||
test-run-jsobjects.cc | ||
test-run-jsops.cc | ||
test-run-machops.cc | ||
test-run-native-calls.cc | ||
test-run-properties.cc | ||
test-run-stackcheck.cc | ||
test-run-stubs.cc | ||
test-run-variables.cc | ||
test-simplified-lowering.cc | ||
value-helper.h |