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

Issue 352583002: The IC exposes a register definition. (Closed)

Created:
6 years, 6 months ago by mvstanton
Modified:
6 years, 6 months ago
CC:
v8-dev
Visibility:
Public.

Description

The IC exposes a register definition. Centralize a register definition in an IC that provides: 1) symbolic names for the register (like, edx == receiver) 2) defines ordering when passed on the stack Code that implements or uses the IC should use this definition instead of "knowing" what the registers are. Or at least have the definition to validate it's assumptions. As a side effect of avoiding runtime static initializers (enforced by tools/check-static-initializers.sh, neat), I gave ownership of the registers array to CodeStubInterfaceDescriptor. This prompted a cleanup of that struct. R=jkummerow@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=22011

Patch Set 1 #

Patch Set 2 : CodeStubDescriptor is beefed up to encapsulate an owned pointer and other fields. #

Total comments: 11

Patch Set 3 : Don't try and do the mips and x87 at this time. Also, feedback response and ports. #

Patch Set 4 : Code review comments. #

Patch Set 5 : Add an assert on parameter count for stubs that implement KeyedLoadIC. #

Total comments: 6

Patch Set 6 : Addressed comments. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+661 lines, -723 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 3 7 chunks +104 lines, -163 lines 0 comments Download
M src/arm/deoptimizer-arm.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/arm/ic-arm.cc View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M src/arm/stub-cache-arm.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 16 chunks +104 lines, -171 lines 0 comments Download
M src/arm64/deoptimizer-arm64.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/arm64/ic-arm64.cc View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M src/arm64/stub-cache-arm64.cc View 1 chunk +7 lines, -3 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 chunks +58 lines, -21 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 2 chunks +81 lines, -2 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 8 chunks +22 lines, -19 lines 0 comments Download
M src/deoptimizer.cc View 1 4 chunks +5 lines, -5 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 7 chunks +106 lines, -164 lines 0 comments Download
M src/ia32/deoptimizer-ia32.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/ic-ia32.cc View 1 1 chunk +13 lines, -0 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M src/ic.h View 1 2 chunks +11 lines, -0 lines 0 comments Download
M src/isolate.h View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 8 chunks +106 lines, -164 lines 0 comments Download
M src/x64/deoptimizer-x64.cc View 1 2 1 chunk +1 line, -1 line 0 comments Download
M src/x64/ic-x64.cc View 1 2 1 chunk +7 lines, -0 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 chunk +6 lines, -2 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
mvstanton
Hi Jakob, thx for the advice thus far. As discussed, this version manages to avoid ...
6 years, 6 months ago (2014-06-24 16:20:24 UTC) #1
Jakob Kummerow
Nice. High-level comments; I'm too tired right now to study the details for correctness. https://codereview.chromium.org/352583002/diff/20001/src/code-stubs.h ...
6 years, 6 months ago (2014-06-24 17:23:25 UTC) #2
Sven Panne
https://codereview.chromium.org/352583002/diff/20001/src/ia32/code-stubs-ia32.cc File src/ia32/code-stubs-ia32.cc (right): https://codereview.chromium.org/352583002/diff/20001/src/ia32/code-stubs-ia32.cc#newcode39 src/ia32/code-stubs-ia32.cc:39: 1, registers, On 2014/06/24 17:23:24, Jakob wrote: > How ...
6 years, 6 months ago (2014-06-25 06:24:06 UTC) #3
mvstanton
Thanks for comments thus far, updated to "state of the art" for your eye-straining pleasure. ...
6 years, 6 months ago (2014-06-25 06:43:14 UTC) #4
Jakob Kummerow
LGTM with comments. https://codereview.chromium.org/352583002/diff/80001/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/352583002/diff/80001/src/code-stubs.cc#newcode44 src/code-stubs.cc:44: // Also the register parameter representations ...
6 years, 6 months ago (2014-06-25 10:31:56 UTC) #5
mvstanton
Right on, thanks! Will submit... --Michael https://codereview.chromium.org/352583002/diff/80001/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/352583002/diff/80001/src/code-stubs.cc#newcode44 src/code-stubs.cc:44: // Also the ...
6 years, 6 months ago (2014-06-25 12:29:00 UTC) #6
mvstanton
6 years, 6 months ago (2014-06-25 12:32:32 UTC) #7
Message was sent while issue was closed.
Committed patchset #6 manually as r22011 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698