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

Issue 2732273003: Disentangle assembler from isolate. (Closed)

Created:
3 years, 9 months ago by neis
Modified:
3 years, 9 months ago
CC:
Hannes Payer (out of office), v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Disentangle assembler from isolate. This is a first step towards moving Turbofan code generation off the main thread. Summary of the changes: - AssemblerBase no longer has a pointer to the isolate. Instead, its constructor receives the few things that it needs from the isolate (on most architectures this is just the serializer_enabled flag). - RelocInfo no longer has a pointer to the isolate. Instead, the functions that need it take it as an argument. (There are currently still a few that implicitly access the isolate through a HeapObject.) - The MacroAssembler now explicitly holds a pointer to the isolate (before, it used to get it from the Assembler). - The jit_cookie also moved from AssemblerBase to the MacroAssemblers, since it's not used at all in the Assemblers. - A few architectures implemented parts of the Assembler with the help of a Codepatcher that is based on MacroAssembler. Since the Assembler no longer has the isolate, but the MacroAssembler still needs it, this doesn't work anymore. Instead, these Assemblers now use a new PatchingAssembler. BUG=v8:6048 Review-Url: https://codereview.chromium.org/2732273003 Cr-Commit-Position: refs/heads/master@{#43890} Committed: https://chromium.googlesource.com/v8/v8/+/94b088ca3ccd3c974af63e1d1bfba8c9d8c10559

Patch Set 1 #

Patch Set 2 : Massage. #

Patch Set 3 : . #

Total comments: 2

Patch Set 4 : Address feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+727 lines, -554 lines) Patch
M src/arm/assembler-arm.h View 1 2 6 chunks +33 lines, -21 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 2 6 chunks +51 lines, -28 lines 0 comments Download
M src/arm/assembler-arm-inl.h View 1 2 5 chunks +7 lines, -9 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 chunks +8 lines, -7 lines 0 comments Download
M src/arm/deoptimizer-arm.cc View 1 2 1 chunk +10 lines, -5 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 2 chunks +5 lines, -1 line 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 chunks +10 lines, -5 lines 0 comments Download
M src/arm64/assembler-arm64.h View 1 2 5 chunks +19 lines, -8 lines 0 comments Download
M src/arm64/assembler-arm64.cc View 1 2 10 chunks +19 lines, -18 lines 0 comments Download
M src/arm64/assembler-arm64-inl.h View 1 2 4 chunks +7 lines, -10 lines 0 comments Download
M src/arm64/code-stubs-arm64.h View 1 2 1 chunk +1 line, -3 lines 0 comments Download
M src/arm64/instructions-arm64.h View 1 2 3 chunks +6 lines, -4 lines 0 comments Download
M src/arm64/instructions-arm64.cc View 1 2 4 chunks +10 lines, -11 lines 0 comments Download
M src/arm64/macro-assembler-arm64.h View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 2 1 chunk +4 lines, -4 lines 0 comments Download
M src/assembler.h View 1 2 10 chunks +35 lines, -30 lines 0 comments Download
M src/assembler.cc View 1 2 7 chunks +48 lines, -42 lines 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/mips/code-generator-mips.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/mips64/code-generator-mips64.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/ppc/code-generator-ppc.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/s390/code-generator-s390.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/crankshaft/lithium-codegen.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M src/debug/arm/debug-arm.cc View 1 2 3 chunks +17 lines, -13 lines 0 comments Download
M src/debug/arm64/debug-arm64.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/deoptimizer.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/disassembler.cc View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M src/heap/incremental-marking.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/heap/mark-compact.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/heap/remembered-set.h View 1 2 3 chunks +15 lines, -13 lines 0 comments Download
M src/ia32/assembler-ia32.h View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 1 2 4 chunks +8 lines, -8 lines 0 comments Download
M src/ia32/assembler-ia32-inl.h View 1 2 7 chunks +12 lines, -13 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 2 chunks +6 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 1 chunk +12 lines, -5 lines 0 comments Download
M src/ic/arm64/ic-arm64.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/isolate.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips/assembler-mips.h View 1 2 2 chunks +4 lines, -1 line 0 comments Download
M src/mips/assembler-mips.cc View 1 2 5 chunks +11 lines, -9 lines 0 comments Download
M src/mips/assembler-mips-inl.h View 1 2 6 chunks +9 lines, -11 lines 0 comments Download
M src/mips/codegen-mips.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M src/mips64/assembler-mips64.h View 1 2 2 chunks +4 lines, -1 line 0 comments Download
M src/mips64/assembler-mips64.cc View 1 2 4 chunks +9 lines, -9 lines 0 comments Download
M src/mips64/assembler-mips64-inl.h View 1 2 6 chunks +9 lines, -11 lines 0 comments Download
M src/mips64/codegen-mips64.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips64/macro-assembler-mips64.h View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M src/objects.cc View 1 2 1 chunk +3 lines, -3 lines 0 comments Download
M src/ppc/assembler-ppc.h View 1 2 6 chunks +16 lines, -3 lines 0 comments Download
M src/ppc/assembler-ppc.cc View 1 2 7 chunks +37 lines, -21 lines 0 comments Download
M src/ppc/assembler-ppc-inl.h View 1 2 8 chunks +17 lines, -19 lines 0 comments Download
M src/ppc/codegen-ppc.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/ppc/macro-assembler-ppc.h View 1 2 3 chunks +2 lines, -1 line 0 comments Download
M src/ppc/macro-assembler-ppc.cc View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M src/s390/assembler-s390.h View 1 2 2 chunks +4 lines, -1 line 0 comments Download
M src/s390/assembler-s390.cc View 1 2 4 chunks +8 lines, -8 lines 0 comments Download
M src/s390/assembler-s390-inl.h View 1 2 8 chunks +17 lines, -16 lines 0 comments Download
M src/s390/macro-assembler-s390.h View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M src/s390/macro-assembler-s390.cc View 1 2 1 chunk +5 lines, -4 lines 0 comments Download
M src/snapshot/serializer.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/wasm/wasm-code-specialization.cc View 4 chunks +12 lines, -8 lines 0 comments Download
M src/wasm/wasm-debug.cc View 1 2 1 chunk +2 lines, -1 line 0 comments Download
M src/wasm/wasm-module.cc View 1 2 3 1 chunk +2 lines, -1 line 0 comments Download
M src/x64/assembler-x64.h View 1 2 2 chunks +4 lines, -1 line 0 comments Download
M src/x64/assembler-x64.cc View 1 2 5 chunks +10 lines, -12 lines 0 comments Download
M src/x64/assembler-x64-inl.h View 1 2 9 chunks +14 lines, -17 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 4 chunks +6 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 2 chunks +10 lines, -4 lines 0 comments Download
M src/x87/assembler-x87.h View 1 2 2 chunks +4 lines, -2 lines 0 comments Download
M src/x87/assembler-x87.cc View 1 2 2 chunks +6 lines, -6 lines 0 comments Download
M src/x87/assembler-x87-inl.h View 1 2 8 chunks +22 lines, -29 lines 0 comments Download
M src/x87/codegen-x87.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M src/x87/macro-assembler-x87.h View 1 2 2 chunks +3 lines, -0 lines 0 comments Download
M src/x87/macro-assembler-x87.cc View 1 2 1 chunk +4 lines, -3 lines 0 comments Download
M test/cctest/compiler/test-run-wasm-machops.cc View 2 chunks +4 lines, -3 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-arm.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-arm64.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-ia32.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-x64.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/wasm/test-run-wasm-relocation.cc View 1 chunk +36 lines, -35 lines 0 comments Download

Messages

Total messages: 35 (20 generated)
Jarin
This indeed looks like a good start.
3 years, 9 months ago (2017-03-07 13:01:30 UTC) #2
neis
PTAL
3 years, 9 months ago (2017-03-16 14:59:35 UTC) #6
Jarin
lgtm, thanks!
3 years, 9 months ago (2017-03-17 09:07:18 UTC) #11
Yang
On 2017/03/17 09:07:18, Jarin wrote: > lgtm, thanks! src/debug and src/snapshot lgtm.
3 years, 9 months ago (2017-03-17 09:20:54 UTC) #13
ulan
lgtm
3 years, 9 months ago (2017-03-17 09:47:07 UTC) #14
neis
+ahaas for wasm
3 years, 9 months ago (2017-03-17 09:51:55 UTC) #16
ahaas
wasm lgtm with nit https://codereview.chromium.org/2732273003/diff/40001/src/wasm/wasm-module.cc File src/wasm/wasm-module.cc (right): https://codereview.chromium.org/2732273003/diff/40001/src/wasm/wasm-module.cc#newcode177 src/wasm/wasm-module.cc:177: it.rinfo()->set_target_address(target->GetIsolate(), I think you could ...
3 years, 9 months ago (2017-03-17 10:24:07 UTC) #18
neis
https://codereview.chromium.org/2732273003/diff/40001/src/wasm/wasm-module.cc File src/wasm/wasm-module.cc (right): https://codereview.chromium.org/2732273003/diff/40001/src/wasm/wasm-module.cc#newcode177 src/wasm/wasm-module.cc:177: it.rinfo()->set_target_address(target->GetIsolate(), On 2017/03/17 10:24:07, ahaas wrote: > I think ...
3 years, 9 months ago (2017-03-17 10:31:51 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2732273003/60001
3 years, 9 months ago (2017-03-17 10:40:51 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/36966)
3 years, 9 months ago (2017-03-17 10:44:40 UTC) #24
neis
+mvstanton for ic/
3 years, 9 months ago (2017-03-17 10:55:36 UTC) #27
neis
+mvstanton for ic/
3 years, 9 months ago (2017-03-17 10:55:36 UTC) #28
Benedikt Meurer
lgtm
3 years, 9 months ago (2017-03-17 10:59:01 UTC) #30
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2732273003/60001
3 years, 9 months ago (2017-03-17 10:59:30 UTC) #32
commit-bot: I haz the power
3 years, 9 months ago (2017-03-17 11:18:15 UTC) #35
Message was sent while issue was closed.
Committed patchset #4 (id:60001) as
https://chromium.googlesource.com/v8/v8/+/94b088ca3ccd3c974af63e1d1bfba8c9d8c...

Powered by Google App Engine
This is Rietveld 408576698