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

Issue 88043002: Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry (Closed)

Created:
7 years ago by rmcilroy
Modified:
6 years, 11 months ago
CC:
v8-dev, Paweł Hajdan Jr., JF
Visibility:
Public.

Description

Out-of-line constant pool on Arm: Stage 3 - Set Constant Pool Pointer on Function Entry Third stage of implementing an out-of-line constant pool for Arm. This CL adds a ConstantPool field to Code objects and initializes the pp register on function entry, and saves the pp register on the stack frame. The ConstantPool object is always empty and is unused currently. R=ulan@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=18425

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : Re-upload to fix code-review error. #

Total comments: 4

Patch Set 4 : Change pp to be callee-saved #

Patch Set 5 : Fix some minor typos. #

Patch Set 6 : Clean up EnterArgumentsAdaptorFrame #

Total comments: 8

Patch Set 7 : Address Rodolph's comments #

Patch Set 8 : Re-upload due to "chunk-missmatch" error on code review site #

Patch Set 9 : Remove pp/cp register swap #

Patch Set 10 : chunk mismatch again... #

Patch Set 11 : Remove assembler-arm change too. #

Patch Set 12 : Rebase #

Patch Set 13 : Fix rebase error. #

Total comments: 6

Patch Set 14 : masm() -> __ #

Patch Set 15 : Move CP from JSFunction -> Code object #

Patch Set 16 : Revert inadvertent flag change #

Total comments: 14

Patch Set 17 : Add immed check #

Total comments: 4

Patch Set 18 : Fix nits #

Patch Set 19 : Synced and rebased #

Patch Set 20 : Sync and Rebase #

Unified diffs Side-by-side diffs Delta from patch set Stats (+324 lines, -70 lines) Patch
M include/v8.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +1 line, -1 line 0 comments Download
M src/arm/assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +3 lines, -0 lines 0 comments Download
M src/arm/assembler-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +5 lines, -0 lines 0 comments Download
M src/arm/builtins-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +4 lines, -2 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +7 lines, -2 lines 0 comments Download
M src/arm/codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 1 chunk +1 line, -1 line 0 comments Download
M src/arm/frames-arm.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 4 chunks +9 lines, -10 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 6 chunks +6 lines, -6 lines 0 comments Download
M src/arm/macro-assembler-arm.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 3 chunks +11 lines, -1 line 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 16 17 18 19 5 chunks +47 lines, -7 lines 0 comments Download
M src/deoptimizer.h View 2 chunks +6 lines, -0 lines 0 comments Download
M src/deoptimizer.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 9 chunks +87 lines, -7 lines 0 comments Download
M src/frames.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 3 chunks +11 lines, -5 lines 0 comments Download
M src/heap.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +4 lines, -0 lines 0 comments Download
M src/heap.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 7 chunks +43 lines, -12 lines 0 comments Download
M src/heap-snapshot-generator.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +3 lines, -0 lines 0 comments Download
M src/ia32/frames-ia32.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/mips/frames-mips.cc View 2 chunks +8 lines, -1 line 0 comments Download
M src/objects.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 2 chunks +6 lines, -1 line 0 comments Download
M src/objects.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +8 lines, -6 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +12 lines, -0 lines 0 comments Download
M src/objects-visiting-inl.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 3 chunks +16 lines, -8 lines 0 comments Download
M src/x64/frames-x64.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M tools/gen-postmortem-metadata.py View 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (0 generated)
rmcilroy
Ulan, please review this change. JFB, Rodolph and Benedikt, FYI (or review too if you ...
7 years ago (2013-11-26 14:10:12 UTC) #1
JF
Could you re-upload? Only the unified diff worked, not the side-by-side, it's much easier to ...
7 years ago (2013-11-26 17:09:55 UTC) #2
rmcilroy
On 2013/11/26 17:09:55, JF wrote: > Could you re-upload? Only the unified diff worked, not ...
7 years ago (2013-11-26 18:12:09 UTC) #3
JF
First look. As discussed, would it make more sense for pp to be callee saved? ...
7 years ago (2013-11-26 18:43:59 UTC) #4
rmcilroy
As discussed, I made pp callee saved. I also changed the order of pp and ...
7 years ago (2013-11-27 17:33:55 UTC) #5
Rodolph Perfetta
https://codereview.chromium.org/88043002/diff/100001/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/88043002/diff/100001/src/arm/code-stubs-arm.cc#newcode1997 src/arm/code-stubs-arm.cc:1997: __ mov(r8, Operand(Smi::FromInt(marker))); if (FLAG_enable_ool_constant_pool) https://codereview.chromium.org/88043002/diff/100001/src/arm/full-codegen-arm.cc File src/arm/full-codegen-arm.cc (right): ...
7 years ago (2013-11-27 20:09:40 UTC) #6
Benedikt Meurer
On 2013/11/27 17:33:55, rmcilroy wrote: > As discussed, I made pp callee saved. I also ...
7 years ago (2013-11-28 07:18:28 UTC) #7
rmcilroy
https://codereview.chromium.org/88043002/diff/100001/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/88043002/diff/100001/src/arm/code-stubs-arm.cc#newcode1997 src/arm/code-stubs-arm.cc:1997: __ mov(r8, Operand(Smi::FromInt(marker))); On 2013/11/27 20:09:41, Rodolph Perfetta wrote: ...
7 years ago (2013-11-28 11:32:26 UTC) #8
rmcilroy
On 2013/11/28 07:18:28, Benedikt Meurer wrote: > On 2013/11/27 17:33:55, rmcilroy wrote: > > As ...
7 years ago (2013-11-28 11:56:33 UTC) #9
Rodolph Perfetta
On 2013/11/28 11:56:33, rmcilroy wrote: > On 2013/11/28 07:18:28, Benedikt Meurer wrote: > > On ...
7 years ago (2013-11-28 18:35:19 UTC) #10
rmcilroy
> When I set FLAG_enable_ool_constant_pool to true it crashes. Did I miss > something? Apologies ...
7 years ago (2013-12-11 16:56:51 UTC) #11
JF
https://codereview.chromium.org/88043002/diff/230001/src/arm/builtins-arm.cc File src/arm/builtins-arm.cc (right): https://codereview.chromium.org/88043002/diff/230001/src/arm/builtins-arm.cc#newcode1375 src/arm/builtins-arm.cc:1375: __ add(sp, sp, Operand(kPointerSize)); // adjust for receiver Does ...
7 years ago (2013-12-13 17:33:38 UTC) #12
rmcilroy
Adding danno@ for question in full-codegen-arm.cc comments. https://codereview.chromium.org/88043002/diff/230001/src/arm/builtins-arm.cc File src/arm/builtins-arm.cc (right): https://codereview.chromium.org/88043002/diff/230001/src/arm/builtins-arm.cc#newcode1375 src/arm/builtins-arm.cc:1375: __ add(sp, ...
7 years ago (2013-12-16 14:56:20 UTC) #13
Sven Panne
https://codereview.chromium.org/88043002/diff/230001/src/arm/full-codegen-arm.cc File src/arm/full-codegen-arm.cc (right): https://codereview.chromium.org/88043002/diff/230001/src/arm/full-codegen-arm.cc#newcode434 src/arm/full-codegen-arm.cc:434: // tool from instrumenting as we rely on the ...
7 years ago (2013-12-17 07:23:58 UTC) #14
ulan
Hi Ross, Wouldn't it be better to add constant pool pointer to code object instead ...
7 years ago (2013-12-17 08:35:10 UTC) #15
rmcilroy
Great idea Ulan - moving the constant pool to the Code object rather than the ...
7 years ago (2013-12-18 13:23:07 UTC) #16
ulan
Looking good overall. I am reviewing the details. One part is not clear to me. ...
7 years ago (2013-12-18 15:06:55 UTC) #17
rmcilroy
> One part is not clear to me. In the instructions that come > before ...
7 years ago (2013-12-19 11:08:24 UTC) #18
ulan
LGTM with nits. > My plan is to only allow movev/movew or mov/orr/orr instructions before ...
7 years ago (2013-12-19 12:54:41 UTC) #19
rmcilroy
Thanks Ulan! Does anyone else what to chime in before I submit this? https://codereview.chromium.org/88043002/diff/290001/src/arm/lithium-codegen-arm.cc File ...
7 years ago (2013-12-19 13:31:58 UTC) #20
rmcilroy
6 years, 11 months ago (2013-12-30 11:24:17 UTC) #21
Message was sent while issue was closed.
Committed patchset #20 manually as r18425 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698