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

Issue 1899813003: [crankshaft] Fragmentation-free allocation folding. (Closed)

Created:
4 years, 8 months ago by Hannes Payer (out of office)
Modified:
4 years, 7 months ago
CC:
Hannes Payer (out of office), Michael Lippautz, ofrobots, ulan, v8-reviews_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[crankshaft] Fragmentation-free allocation folding. The new allocation folding implementation avoids fragmentation between folded allocation. As a consequence, our heap will always be iterable i.e. we do not have to perform a garbage collection before iterating the heap. BUG=chromium:580959 LOG=n Committed: https://crrev.com/61f5fbbb1926e1ffb672214a043e8c98db0e8af6 Cr-Commit-Position: refs/heads/master@{#36133}

Patch Set 1 #

Patch Set 2 : #

Total comments: 14

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Patch Set 9 : #

Patch Set 10 : #

Patch Set 11 : #

Patch Set 12 : #

Patch Set 13 : #

Patch Set 14 : #

Patch Set 15 : #

Patch Set 16 : #

Patch Set 17 : #

Total comments: 23

Patch Set 18 : #

Patch Set 19 : #

Patch Set 20 : #

Patch Set 21 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1267 lines, -352 lines) Patch
M src/arm/macro-assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -0 lines 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 5 chunks +120 lines, -3 lines 0 comments Download
M src/arm64/macro-assembler-arm64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 2 chunks +9 lines, -1 line 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 3 chunks +82 lines, -3 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 7 chunks +11 lines, -8 lines 0 comments Download
M src/crankshaft/arm/lithium-arm.h View 1 2 3 4 5 6 7 8 9 3 chunks +16 lines, -1 line 0 comments Download
M src/crankshaft/arm/lithium-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +9 lines, -4 lines 0 comments Download
M src/crankshaft/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +52 lines, -0 lines 0 comments Download
M src/crankshaft/arm64/lithium-arm64.h View 1 2 3 4 5 6 7 8 9 3 chunks +16 lines, -1 line 0 comments Download
M src/crankshaft/arm64/lithium-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +11 lines, -5 lines 0 comments Download
M src/crankshaft/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +52 lines, -0 lines 0 comments Download
M src/crankshaft/hydrogen.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +0 lines, -12 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 chunks +27 lines, -70 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 7 chunks +43 lines, -54 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 6 chunks +36 lines, -136 lines 0 comments Download
M src/crankshaft/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +48 lines, -0 lines 0 comments Download
M src/crankshaft/ia32/lithium-ia32.h View 1 2 3 4 5 6 7 8 2 chunks +14 lines, -0 lines 0 comments Download
M src/crankshaft/ia32/lithium-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +13 lines, -8 lines 0 comments Download
M src/crankshaft/mips/lithium-codegen-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +53 lines, -0 lines 0 comments Download
M src/crankshaft/mips/lithium-mips.h View 1 2 3 4 5 6 7 8 9 2 chunks +16 lines, -0 lines 0 comments Download
M src/crankshaft/mips/lithium-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +9 lines, -4 lines 0 comments Download
M src/crankshaft/mips64/lithium-codegen-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +53 lines, -0 lines 0 comments Download
M src/crankshaft/mips64/lithium-mips64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +16 lines, -0 lines 0 comments Download
M src/crankshaft/x64/lithium-codegen-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 3 chunks +48 lines, -0 lines 0 comments Download
M src/crankshaft/x64/lithium-x64.h View 1 2 3 4 5 6 7 8 9 2 chunks +14 lines, -0 lines 0 comments Download
M src/crankshaft/x64/lithium-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +13 lines, -8 lines 0 comments Download
M src/crankshaft/x87/lithium-codegen-x87.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 2 chunks +49 lines, -0 lines 0 comments Download
M src/crankshaft/x87/lithium-x87.h View 1 2 3 4 5 6 7 8 9 10 11 3 chunks +14 lines, -1 line 0 comments Download
M src/crankshaft/x87/lithium-x87.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +13 lines, -8 lines 0 comments Download
M src/heap/spaces.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 1 chunk +2 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +8 lines, -0 lines 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 9 chunks +62 lines, -7 lines 0 comments Download
M src/macro-assembler.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +4 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -0 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 5 chunks +101 lines, -2 lines 0 comments Download
M src/mips64/macro-assembler-mips64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -0 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +86 lines, -2 lines 0 comments Download
M src/x64/macro-assembler-x64.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +9 lines, -0 lines 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 6 chunks +46 lines, -7 lines 0 comments Download
M src/x87/macro-assembler-x87.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 1 chunk +5 lines, -0 lines 0 comments Download
M src/x87/macro-assembler-x87.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 8 chunks +60 lines, -6 lines 0 comments Download

Messages

Total messages: 30 (12 generated)
Hannes Payer (out of office)
Hi Benedikt, can you have a look? This CL just contains the x64 port for ...
4 years, 8 months ago (2016-04-19 07:09:47 UTC) #2
Benedikt Meurer
Looking good, first round of comments. https://codereview.chromium.org/1899813003/diff/20001/src/crankshaft/hydrogen-instructions.h File src/crankshaft/hydrogen-instructions.h (right): https://codereview.chromium.org/1899813003/diff/20001/src/crankshaft/hydrogen-instructions.h#newcode5046 src/crankshaft/hydrogen-instructions.h:5046: ALLOCATION_FOLDING_DOMINATED = 1 ...
4 years, 8 months ago (2016-04-19 07:25:39 UTC) #4
Michael Lippautz
https://codereview.chromium.org/1899813003/diff/20001/src/heap/spaces.cc File src/heap/spaces.cc (right): https://codereview.chromium.org/1899813003/diff/20001/src/heap/spaces.cc#newcode2393 src/heap/spaces.cc:2393: } else if (bytes_left >= 0) { nit: can ...
4 years, 8 months ago (2016-04-19 10:49:50 UTC) #6
Hannes Payer (out of office)
https://codereview.chromium.org/1899813003/diff/20001/src/crankshaft/hydrogen-instructions.h File src/crankshaft/hydrogen-instructions.h (right): https://codereview.chromium.org/1899813003/diff/20001/src/crankshaft/hydrogen-instructions.h#newcode5046 src/crankshaft/hydrogen-instructions.h:5046: ALLOCATION_FOLDING_DOMINATED = 1 << 6 On 2016/04/19 at 07:25:38, ...
4 years, 8 months ago (2016-04-19 11:03:56 UTC) #7
Benedikt Meurer
LGTM on x64.
4 years, 8 months ago (2016-04-19 11:05:18 UTC) #8
Hannes Payer (out of office)
PTAL
4 years, 7 months ago (2016-05-10 07:25:31 UTC) #9
Benedikt Meurer
LGTM.
4 years, 7 months ago (2016-05-10 07:27:00 UTC) #10
Michael Lippautz
General and ia32. Will look at platform-specific ports asap. https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/hydrogen-instructions.h File src/crankshaft/hydrogen-instructions.h (right): https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/hydrogen-instructions.h#newcode5015 src/crankshaft/hydrogen-instructions.h:5015: ...
4 years, 7 months ago (2016-05-10 08:32:58 UTC) #11
Michael Lippautz
lgtm w comments https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/arm64/lithium-codegen-arm64.cc File src/crankshaft/arm64/lithium-codegen-arm64.cc (right): https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/arm64/lithium-codegen-arm64.cc#newcode1510 src/crankshaft/arm64/lithium-codegen-arm64.cc:1510: Register top_address = x10; Please ack ...
4 years, 7 months ago (2016-05-10 09:04:11 UTC) #12
Hannes Payer (out of office)
https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/hydrogen-instructions.h File src/crankshaft/hydrogen-instructions.h (right): https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/hydrogen-instructions.h#newcode5015 src/crankshaft/hydrogen-instructions.h:5015: void MakeFoldedAllocation() { On 2016/05/10 at 08:32:57, Michael Lippautz ...
4 years, 7 months ago (2016-05-10 09:04:45 UTC) #13
Hannes Payer (out of office)
https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/arm64/lithium-codegen-arm64.cc File src/crankshaft/arm64/lithium-codegen-arm64.cc (right): https://codereview.chromium.org/1899813003/diff/320001/src/crankshaft/arm64/lithium-codegen-arm64.cc#newcode1510 src/crankshaft/arm64/lithium-codegen-arm64.cc:1510: Register top_address = x10; On 2016/05/10 at 09:04:10, Michael ...
4 years, 7 months ago (2016-05-10 09:10:59 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1899813003/360001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1899813003/360001
4 years, 7 months ago (2016-05-10 09:29:42 UTC) #17
commit-bot: I haz the power
Try jobs failed on following builders: v8_mac_rel_ng on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/1389) v8_mac_rel_ng_triggered on tryserver.v8 (JOB_FAILED, ...
4 years, 7 months ago (2016-05-10 09:49:55 UTC) #19
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1899813003/380001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1899813003/380001
4 years, 7 months ago (2016-05-10 10:44:43 UTC) #22
commit-bot: I haz the power
Try jobs failed on following builders: v8_android_arm_compile_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_android_arm_compile_rel/builds/17409) v8_linux64_asan_rel_ng on tryserver.v8 (JOB_FAILED, ...
4 years, 7 months ago (2016-05-10 10:46:13 UTC) #24
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1899813003/400001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1899813003/400001
4 years, 7 months ago (2016-05-10 10:55:39 UTC) #27
commit-bot: I haz the power
Committed patchset #21 (id:400001)
4 years, 7 months ago (2016-05-10 11:29:02 UTC) #28
commit-bot: I haz the power
4 years, 7 months ago (2016-05-10 11:29:19 UTC) #30
Message was sent while issue was closed.
Patchset 21 (id:??) landed as
https://crrev.com/61f5fbbb1926e1ffb672214a043e8c98db0e8af6
Cr-Commit-Position: refs/heads/master@{#36133}

Powered by Google App Engine
This is Rietveld 408576698