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

Issue 2900683002: [compiler] Delay allocation of code-embedded heap numbers. (Closed)

Created:
3 years, 7 months ago by neis
Modified:
3 years, 5 months ago
Reviewers:
mvstanton, Jarin, jgruber
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[compiler] Delay allocation of code-embedded heap numbers. Instead of allocating and embedding certain heap numbers into the code during code assembly, emit dummies but record the allocation requests. Later then, in Assembler::GetCode, allocate the heap numbers and patch the code by replacing the dummies with the actual objects. The RelocInfos for the embedded objects are already recorded correctly when emitting the dummies. R=jarin@chromium.org BUG=v8:6048 Review-Url: https://codereview.chromium.org/2900683002 Cr-Commit-Position: refs/heads/master@{#45635} Committed: https://chromium.googlesource.com/v8/v8/+/659e8f7b5cd318dd486f6853c4da47a9a8587aa6

Patch Set 1 #

Patch Set 2 : wip #

Patch Set 3 : wip #

Patch Set 4 : Cleanups. #

Patch Set 5 : Rebase. #

Patch Set 6 : Fix mips tests. #

Patch Set 7 : Again. #

Total comments: 1

Patch Set 8 : Add comment set_heap_number. #

Patch Set 9 : Rebase. #

Patch Set 10 : Fix rebase. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+668 lines, -475 lines) Patch
M src/arm/assembler-arm.h View 1 2 3 4 5 6 7 4 chunks +30 lines, -4 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 8 chunks +26 lines, -9 lines 0 comments Download
M src/arm/assembler-arm-inl.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M src/arm64/assembler-arm64.h View 1 2 3 4 5 6 7 5 chunks +21 lines, -1 line 0 comments Download
M src/arm64/assembler-arm64.cc View 1 2 3 4 5 6 7 8 3 chunks +25 lines, -2 lines 0 comments Download
M src/arm64/assembler-arm64-inl.h View 1 3 chunks +1 line, -3 lines 0 comments Download
M src/arm64/macro-assembler-arm64.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/macro-assembler-arm64-inl.h View 1 1 chunk +2 lines, -3 lines 0 comments Download
M src/assembler.h View 1 2 3 3 chunks +23 lines, -0 lines 0 comments Download
M src/assembler.cc View 1 2 chunks +14 lines, -0 lines 0 comments Download
M src/builtins/setup-builtins-internal.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/codegen.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/arm/code-generator-arm.cc View 1 2 3 2 chunks +4 lines, -8 lines 0 comments Download
M src/compiler/arm64/code-generator-arm64.cc View 1 2 chunks +2 lines, -8 lines 0 comments Download
M src/compiler/ia32/code-generator-ia32.cc View 1 1 chunk +2 lines, -4 lines 0 comments Download
M src/compiler/x64/code-generator-x64.cc View 1 1 chunk +2 lines, -4 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/assembler-ia32.h View 1 2 3 4 5 6 7 4 chunks +36 lines, -8 lines 0 comments Download
M src/ia32/assembler-ia32.cc View 1 7 chunks +19 lines, -8 lines 0 comments Download
M src/ia32/assembler-ia32-inl.h View 1 5 chunks +18 lines, -13 lines 0 comments Download
M src/ia32/codegen-ia32.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 3 chunks +4 lines, -4 lines 0 comments Download
M src/ic/handler-compiler.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/mips/assembler-mips.h View 1 2 3 2 chunks +5 lines, -1 line 0 comments Download
M src/mips/assembler-mips.cc View 1 1 chunk +1 line, -2 lines 0 comments Download
M src/mips/codegen-mips.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips64/assembler-mips64.h View 1 2 3 2 chunks +5 lines, -1 line 0 comments Download
M src/mips64/assembler-mips64.cc View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M src/mips64/codegen-mips64.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M src/regexp/arm/regexp-macro-assembler-arm.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/arm64/regexp-macro-assembler-arm64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/ia32/regexp-macro-assembler-ia32.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/mips/regexp-macro-assembler-mips.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/mips64/regexp-macro-assembler-mips64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/regexp/x64/regexp-macro-assembler-x64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/x64/assembler-x64.h View 1 2 3 4 5 6 7 3 chunks +18 lines, -2 lines 0 comments Download
M src/x64/assembler-x64.cc View 1 2 3 2 chunks +14 lines, -4 lines 0 comments Download
M src/x64/codegen-x64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/x64/macro-assembler-x64.h View 1 chunk +3 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M test/cctest/heap/test-heap.cc View 1 2 3 4 3 chunks +3 lines, -3 lines 0 comments Download
M test/cctest/test-assembler-arm.cc View 1 2 3 40 chunks +40 lines, -40 lines 0 comments Download
M test/cctest/test-assembler-arm64.cc View 1 2 3 3 chunks +12 lines, -12 lines 0 comments Download
M test/cctest/test-assembler-ia32.cc View 1 2 3 22 chunks +22 lines, -22 lines 0 comments Download
M test/cctest/test-assembler-mips.cc View 1 2 3 4 5 6 7 8 9 69 chunks +69 lines, -69 lines 0 comments Download
M test/cctest/test-assembler-mips64.cc View 1 2 3 4 5 6 7 8 9 79 chunks +79 lines, -79 lines 0 comments Download
M test/cctest/test-assembler-x64.cc View 1 2 3 33 chunks +33 lines, -33 lines 0 comments Download
M test/cctest/test-code-stubs-arm.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-code-stubs-arm64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-code-stubs-ia32.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-code-stubs-mips.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-code-stubs-mips64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-code-stubs-x64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-disasm-arm64.cc View 1 2 3 1 chunk +20 lines, -20 lines 0 comments Download
M test/cctest/test-disasm-ia32.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-disasm-x64.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-hashing.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-macro-assembler-arm.cc View 1 2 3 3 chunks +3 lines, -3 lines 0 comments Download
M test/cctest/test-macro-assembler-ia32.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/test-macro-assembler-mips.cc View 1 2 3 4 5 12 chunks +12 lines, -12 lines 0 comments Download
M test/cctest/test-macro-assembler-mips64.cc View 1 2 3 4 5 15 chunks +15 lines, -15 lines 0 comments Download
M test/cctest/test-macro-assembler-x64.cc View 1 2 3 24 chunks +24 lines, -24 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-arm.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-arm64.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-ia32.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-run-wasm-relocation-x64.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-serialize.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-simulator-arm.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download
M test/cctest/test-simulator-arm64.cc View 1 2 3 2 chunks +2 lines, -2 lines 0 comments Download

Messages

Total messages: 48 (34 generated)
neis
3 years, 7 months ago (2017-05-22 08:07:07 UTC) #1
neis
Please have a first look and let me know what you think of this approach.
3 years, 7 months ago (2017-05-22 08:07:34 UTC) #4
Jarin
On 2017/05/22 08:07:34, neis wrote: > Please have a first look and let me know ...
3 years, 7 months ago (2017-05-22 08:15:44 UTC) #7
neis
On 2017/05/22 08:15:44, Jarin wrote: > On 2017/05/22 08:07:34, neis wrote: > > Please have ...
3 years, 6 months ago (2017-05-29 17:04:56 UTC) #12
neis
Ready for review now.
3 years, 6 months ago (2017-05-30 13:11:23 UTC) #19
Jarin
lgtm https://codereview.chromium.org/2900683002/diff/120001/src/arm/assembler-arm.h File src/arm/assembler-arm.h (right): https://codereview.chromium.org/2900683002/diff/120001/src/arm/assembler-arm.h#newcode1559 src/arm/assembler-arm.h:1559: static void set_heap_number(Handle<HeapObject> number, Address pc) { Please ...
3 years, 6 months ago (2017-05-31 11:55:54 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/2900683002/160001
3 years, 6 months ago (2017-05-31 12:36:09 UTC) #35
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/42147)
3 years, 6 months ago (2017-05-31 12:42:55 UTC) #37
neis
+mvstanton for ic, +jgruber for regexp. Thanks.
3 years, 6 months ago (2017-05-31 12:47:48 UTC) #39
jgruber
regexp/ lgtm
3 years, 6 months ago (2017-05-31 12:49:41 UTC) #40
mvstanton
LGTM ic
3 years, 6 months ago (2017-05-31 12:51:52 UTC) #41
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/2900683002/180001
3 years, 6 months ago (2017-05-31 12:52:57 UTC) #44
commit-bot: I haz the power
Committed patchset #10 (id:180001) as https://chromium.googlesource.com/v8/v8/+/659e8f7b5cd318dd486f6853c4da47a9a8587aa6
3 years, 6 months ago (2017-05-31 14:00:23 UTC) #47
neis
3 years, 6 months ago (2017-06-13 10:01:52 UTC) #48
Message was sent while issue was closed.
+v8-mips-ports: Could you please help with porting this CL? (I made only the
minimal changes necessary to compile.)

Powered by Google App Engine
This is Rietveld 408576698