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

Issue 340363002: The IC should define its input registers (Closed)

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

Description

Create a RegisterSpec class inside of the IC that provides: 1) symbolic names for the register (like, edx == receiver) 2) can return an array of registers 3) defines ordering when passed on the stack Code that implements or uses the IC should use this RegisterSpec instead of "knowing" what the registers are. Or at least have the RegisterSpec to validate it's assumptions. R=jkummerow@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=21939

Patch Set 1 #

Patch Set 2 : Added 64bit. #

Patch Set 3 : More platforms. #

Patch Set 4 : Addressed feedback from Danno: turn down the macro volume. #

Total comments: 3

Patch Set 5 : Use a const array instead of static to avoid problems. #

Total comments: 1

Patch Set 6 : Less verbose syntax. #

Patch Set 7 : Added mips and x87 port. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+156 lines, -205 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 2 chunks +0 lines, -30 lines 0 comments Download
M src/arm/ic-arm.cc View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M src/arm/stub-cache-arm.cc View 1 2 3 4 5 6 1 chunk +6 lines, -2 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 1 chunk +0 lines, -34 lines 0 comments Download
M src/arm64/ic-arm64.cc View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M src/arm64/stub-cache-arm64.cc View 1 2 3 4 5 6 1 chunk +7 lines, -3 lines 0 comments Download
M src/code-stubs.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/code-stubs.cc View 1 2 3 4 5 6 1 chunk +27 lines, -0 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 3 3 chunks +12 lines, -7 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 6 2 chunks +0 lines, -30 lines 0 comments Download
M src/ia32/ic-ia32.cc View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M src/ia32/stub-cache-ia32.cc View 1 2 3 4 5 6 1 chunk +6 lines, -2 lines 0 comments Download
M src/ic.h View 1 2 3 4 2 chunks +13 lines, -0 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 5 6 2 chunks +0 lines, -30 lines 0 comments Download
M src/mips/ic-mips.cc View 1 2 3 4 5 6 1 chunk +11 lines, -0 lines 0 comments Download
M src/mips/stub-cache-mips.cc View 1 2 3 4 5 6 1 chunk +6 lines, -2 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 6 2 chunks +0 lines, -30 lines 0 comments Download
M src/x64/ic-x64.cc View 1 2 3 4 5 1 chunk +11 lines, -0 lines 0 comments Download
M src/x64/stub-cache-x64.cc View 1 2 3 4 5 6 1 chunk +6 lines, -2 lines 0 comments Download
M src/x87/code-stubs-x87.cc View 1 2 3 4 5 6 2 chunks +0 lines, -30 lines 0 comments Download
M src/x87/ic-x87.cc View 1 2 3 4 5 6 1 chunk +11 lines, -0 lines 0 comments Download
M src/x87/stub-cache-x87.cc View 1 2 3 4 5 6 1 chunk +6 lines, -2 lines 0 comments Download

Messages

Total messages: 6 (0 generated)
mvstanton
Hi guys, Could you have a quick look at this structure for declaring a register ...
6 years, 6 months ago (2014-06-19 08:14:47 UTC) #1
mvstanton
Addressed some feedback. Instead of a baroque macro-assisted helper class, I just have simple static ...
6 years, 6 months ago (2014-06-20 08:08:08 UTC) #2
Jakob Kummerow
I think this is going in the right direction. A few comments: (1) KeyedLoadIC::GetRegisterArray() vs. ...
6 years, 6 months ago (2014-06-20 10:50:27 UTC) #3
Jakob Kummerow
LGTM. I like this! https://codereview.chromium.org/340363002/diff/120001/src/ia32/ic-ia32.cc File src/ia32/ic-ia32.cc (right): https://codereview.chromium.org/340363002/diff/120001/src/ia32/ic-ia32.cc#newcode1032 src/ia32/ic-ia32.cc:1032: LoadIC::kReceiverRegister, LoadIC::kNameRegister nit: does it ...
6 years, 6 months ago (2014-06-23 12:49:09 UTC) #4
mvstanton
Hi Jakob, Here is a version that 1) avoids static initialization (Registers can be initialized ...
6 years, 6 months ago (2014-06-23 12:56:30 UTC) #5
mvstanton
6 years, 6 months ago (2014-06-23 13:42:54 UTC) #6
Message was sent while issue was closed.
Committed patchset #7 manually as r21939 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698