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

Issue 1475953002: [stubs] A new approach to TF stubs (Closed)

Created:
5 years ago by danno
Modified:
5 years ago
CC:
v8-reviews_googlegroups.com, adamk
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[stubs] A new approach to TF stubs * Add a sibling interface to InterpreterAssembler called CodeStubAssembler which provides a wrapper around the RawMachineAssembler and is intented to make it easy to build efficient cross-platform code stubs. Much of the implementation of CodeStubAssembler is shamelessly stolen from the InterpreterAssembler, and the idea is to eventually merge the two interfaces somehow, probably moving the InterpreterAssembler interface over to use the CodeStubAssembler. Short-term, however, the two interfaces shall remain decoupled to increase our velocity developing the two systems in parallel. * Implement the StringLength stub in TurboFan with the new CodeStubAssembler. Replace and remove the old Hydrogen-stub version. * Remove a whole slew of machinery to support JavaScript-style code stub generation, since it ultimately proved unwieldy, brittle and baroque. This cleanup includes removing the shared code stub context, several example stubs and a tangle of build file changes. BUG=v8:4587 LOG=n Committed: https://crrev.com/3e7e3ed726dd016dc6ae89803999a28fba2362c7 Cr-Commit-Position: refs/heads/master@{#32508}

Patch Set 1 #

Patch Set 2 : First rough draft #

Patch Set 3 : Latest #

Patch Set 4 : Latest #

Patch Set 5 : Tweaks #

Patch Set 6 : Moar tests #

Patch Set 7 : First draft #

Patch Set 8 : Latest version #

Patch Set 9 : Merge with ToT #

Patch Set 10 : Merge with ToT #

Total comments: 26

Patch Set 11 : Review feedback #

Patch Set 12 : Fix build #

Patch Set 13 : Merge with ToT #

Patch Set 14 : Fix Win64 build #

Unified diffs Side-by-side diffs Delta from patch set Stats (+641 lines, -902 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 8 9 9 chunks +2 lines, -41 lines 0 comments Download
M src/DEPS View 1 chunk +1 line, -0 lines 0 comments Download
M src/arm/interface-descriptors-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -21 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -21 lines 0 comments Download
M src/bootstrapper.h View 2 chunks +0 lines, -4 lines 0 comments Download
M src/bootstrapper.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +0 lines, -46 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 5 6 7 8 9 10 11 12 8 chunks +11 lines, -98 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 6 7 8 9 3 chunks +18 lines, -35 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -14 lines 0 comments Download
M src/compiler/change-lowering.cc View 1 2 3 4 5 6 1 chunk +2 lines, -2 lines 0 comments Download
A src/compiler/code-stub-assembler.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +103 lines, -0 lines 0 comments Download
A src/compiler/code-stub-assembler.cc View 1 2 3 4 5 6 1 chunk +196 lines, -0 lines 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 2 3 4 5 6 7 8 9 1 chunk +2 lines, -2 lines 0 comments Download
M src/compiler/js-generic-lowering.cc View 1 2 3 4 5 6 7 8 9 2 chunks +4 lines, -3 lines 0 comments Download
M src/compiler/js-intrinsic-lowering.h View 1 2 3 4 5 6 7 8 9 1 chunk +0 lines, -2 lines 0 comments Download
M src/compiler/js-intrinsic-lowering.cc View 1 2 3 4 5 6 7 8 9 2 chunks +0 lines, -41 lines 0 comments Download
M src/compiler/linkage.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/linkage.cc View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +5 lines, -6 lines 0 comments Download
M src/compiler/pipeline.h View 1 2 3 4 5 6 7 8 9 10 1 chunk +7 lines, -5 lines 0 comments Download
M src/compiler/pipeline.cc View 1 2 3 4 5 6 7 8 9 1 chunk +7 lines, -4 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 2 3 4 5 6 7 8 9 2 chunks +10 lines, -2 lines 0 comments Download
M src/compiler/raw-machine-assembler.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 4 chunks +69 lines, -23 lines 0 comments Download
M src/heap/heap.h View 1 2 3 3 chunks +0 lines, -11 lines 0 comments Download
M src/heap/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +1 line, -3 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -21 lines 0 comments Download
M src/interface-descriptors.h View 1 2 3 4 5 6 7 8 9 10 11 12 4 chunks +9 lines, -19 lines 0 comments Download
M src/interface-descriptors.cc View 1 3 chunks +7 lines, -27 lines 0 comments Download
M src/isolate.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -6 lines 0 comments Download
M src/js/code-stubs.js View 1 2 3 4 5 6 1 chunk +0 lines, -69 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -21 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -21 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -3 lines 0 comments Download
M src/runtime/runtime-internal.cc View 1 2 3 4 5 6 7 8 1 chunk +0 lines, -24 lines 0 comments Download
M src/runtime/runtime-test.cc View 1 chunk +1 line, -2 lines 0 comments Download
M src/snapshot/natives.h View 2 chunks +0 lines, -2 lines 0 comments Download
M src/snapshot/natives-common.cc View 2 chunks +0 lines, -7 lines 0 comments Download
M src/snapshot/natives-external.cc View 3 chunks +0 lines, -3 lines 0 comments Download
M src/snapshot/serialize.h View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -4 lines 0 comments Download
M src/snapshot/serialize.cc View 1 2 3 4 5 6 7 8 9 10 11 12 5 chunks +2 lines, -18 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +0 lines, -21 lines 0 comments Download
M test/cctest/cctest.gyp View 1 1 chunk +1 line, -0 lines 0 comments Download
M test/cctest/compiler/function-tester.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +37 lines, -6 lines 0 comments Download
A test/cctest/compiler/test-code-stub-assembler.cc View 1 2 3 4 5 6 7 8 9 10 1 chunk +125 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-stubs.cc View 1 2 3 4 5 6 7 8 3 chunks +3 lines, -81 lines 0 comments Download
M test/cctest/compiler/test-simplified-lowering.cc View 1 2 3 4 5 6 7 8 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-api.cc View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -2 lines 0 comments Download
M test/cctest/test-heap.cc View 1 2 3 4 5 6 7 8 9 3 chunks +3 lines, -8 lines 0 comments Download
M test/cctest/test-heap-profiler.cc View 1 2 3 4 5 6 7 8 9 4 chunks +6 lines, -11 lines 0 comments Download
M test/cctest/test-object-observe.cc View 3 chunks +3 lines, -3 lines 0 comments Download
D test/mjsunit/compiler/stubs/floor-stub.js View 1 chunk +0 lines, -61 lines 0 comments Download
D test/mjsunit/get-caller-js-function.js View 1 2 3 4 5 1 chunk +0 lines, -21 lines 0 comments Download
D test/mjsunit/get-caller-js-function-throws.js View 1 2 3 4 5 1 chunk +0 lines, -14 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 8 9 6 chunks +2 lines, -41 lines 0 comments Download

Messages

Total messages: 28 (16 generated)
danno
PTAL
5 years ago (2015-12-01 10:01:11 UTC) #6
Michael Starzinger
LGTM. Nice! I like this. Only nits. https://codereview.chromium.org/1475953002/diff/180001/src/code-stubs.h File src/code-stubs.h (right): https://codereview.chromium.org/1475953002/diff/180001/src/code-stubs.h#newcode538 src/code-stubs.h:538: compiler::CodeStubAssembler* assmebler) ...
5 years ago (2015-12-01 18:06:54 UTC) #7
adamk
Excited to see code-stubs-hydrogen get a successor! https://codereview.chromium.org/1475953002/diff/180001/src/compiler/code-stub-assembler.h File src/compiler/code-stub-assembler.h (right): https://codereview.chromium.org/1475953002/diff/180001/src/compiler/code-stub-assembler.h#newcode34 src/compiler/code-stub-assembler.h:34: class CodeStubAssembler ...
5 years ago (2015-12-01 19:27:30 UTC) #8
adamk
Excited to see code-stubs-hydrogen get a successor! https://codereview.chromium.org/1475953002/diff/180001/src/compiler/code-stub-assembler.h File src/compiler/code-stub-assembler.h (right): https://codereview.chromium.org/1475953002/diff/180001/src/compiler/code-stub-assembler.h#newcode34 src/compiler/code-stub-assembler.h:34: class CodeStubAssembler ...
5 years ago (2015-12-01 19:27:30 UTC) #9
danno
Feedback addressed https://codereview.chromium.org/1475953002/diff/180001/src/code-stubs.h File src/code-stubs.h (right): https://codereview.chromium.org/1475953002/diff/180001/src/code-stubs.h#newcode538 src/code-stubs.h:538: compiler::CodeStubAssembler* assmebler) const = 0; On 2015/12/01 ...
5 years ago (2015-12-02 07:00:19 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1475953002/220001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1475953002/220001
5 years ago (2015-12-02 07:20:44 UTC) #15
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/8378)
5 years ago (2015-12-02 07:23:23 UTC) #17
danno
Yang, could you please take a look at the serializer changes?
5 years ago (2015-12-02 07:37:00 UTC) #19
Yang
On 2015/12/02 07:37:00, danno wrote: > Yang, could you please take a look at the ...
5 years ago (2015-12-02 11:57:32 UTC) #20
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1475953002/260001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1475953002/260001
5 years ago (2015-12-02 12:27:33 UTC) #24
commit-bot: I haz the power
Committed patchset #14 (id:260001)
5 years ago (2015-12-02 12:35:17 UTC) #26
commit-bot: I haz the power
5 years ago (2015-12-02 12:35:30 UTC) #28
Message was sent while issue was closed.
Patchset 14 (id:??) landed as
https://crrev.com/3e7e3ed726dd016dc6ae89803999a28fba2362c7
Cr-Commit-Position: refs/heads/master@{#32508}

Powered by Google App Engine
This is Rietveld 408576698