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

Issue 1248303002: Unify runtime-style IC functions with Runtime intrinsics (Closed)

Created:
5 years, 5 months ago by danno
Modified:
5 years, 5 months ago
CC:
v8-dev, Yang
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Unify "runtime-style" IC functions with Runtime intrinsics Previous to this CL, ICs used a slightly different code idiom to get to C++ code from generated code than runtime intrinsics, using an IC_Utility class that in essence provided exactly the same functionality as Runtime::FunctionForId, but in its own quirky way. This CL unifies the two mechanisms, folding IC_Utility away by making all IC entry points in C++ code, e.g. IC miss handlers, full-fledged runtime intrinsics. This makes it possible to eliminate a bunch of ad-hoc declarations and adapters that the IC system had to needlessly re-invent. As a bonus and the original reason for this yak-shave: IC-related C++ runtime functions are now callable from TurboFan. Committed: https://crrev.com/bc8041dc2b4c8431c5c2476496acd3b7b8b3f61e Cr-Commit-Position: refs/heads/master@{#29811}

Patch Set 1 #

Patch Set 2 : All platforms #

Patch Set 3 : Remove unrelated changes #

Patch Set 4 : Cleanup #

Total comments: 4

Patch Set 5 : Review feedback #

Total comments: 1

Patch Set 6 : Review feedback #

Patch Set 7 : Make mips work #

Unified diffs Side-by-side diffs Delta from patch set Stats (+265 lines, -464 lines) Patch
M src/arguments.h View 1 chunk +0 lines, -3 lines 0 comments Download
M src/arm/code-stubs-arm.cc View 1 2 3 4 5 3 chunks +6 lines, -13 lines 0 comments Download
M src/arm/debug-arm.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M src/arm/macro-assembler-arm.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 5 4 chunks +6 lines, -13 lines 0 comments Download
M src/arm64/debug-arm64.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/arm64/macro-assembler-arm64.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/assembler.h View 3 chunks +0 lines, -6 lines 0 comments Download
M src/assembler.cc View 2 chunks +0 lines, -10 lines 0 comments Download
M src/code-stubs.cc View 4 chunks +22 lines, -16 lines 0 comments Download
M src/compiler/ast-graph-builder.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/debug.h View 2 chunks +1 line, -3 lines 0 comments Download
M src/debug.cc View 1 chunk +0 lines, -9 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 3 4 5 3 chunks +6 lines, -11 lines 0 comments Download
M src/ia32/debug-ia32.cc View 1 1 chunk +3 lines, -1 line 0 comments Download
M src/ia32/macro-assembler-ia32.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/ic/arm/handler-compiler-arm.cc View 1 2 3 4 5 7 chunks +9 lines, -20 lines 0 comments Download
M src/ic/arm/ic-arm.cc View 1 2 3 4 5 4 chunks +4 lines, -11 lines 0 comments Download
M src/ic/arm64/handler-compiler-arm64.cc View 1 2 3 4 5 7 chunks +9 lines, -20 lines 0 comments Download
M src/ic/arm64/ic-arm64.cc View 1 2 3 4 5 4 chunks +4 lines, -11 lines 0 comments Download
M src/ic/ia32/handler-compiler-ia32.cc View 1 2 3 4 5 7 chunks +9 lines, -18 lines 0 comments Download
M src/ic/ia32/ic-ia32.cc View 1 2 3 4 5 4 chunks +4 lines, -12 lines 0 comments Download
M src/ic/ic.h View 1 2 3 3 chunks +0 lines, -70 lines 0 comments Download
M src/ic/ic.cc View 1 2 3 25 chunks +24 lines, -34 lines 0 comments Download
M src/ic/mips/handler-compiler-mips.cc View 1 2 3 4 5 7 chunks +9 lines, -20 lines 0 comments Download
M src/ic/mips/ic-mips.cc View 1 2 3 4 5 4 chunks +4 lines, -12 lines 0 comments Download
M src/ic/mips64/handler-compiler-mips64.cc View 1 2 3 4 5 7 chunks +9 lines, -20 lines 0 comments Download
M src/ic/mips64/ic-mips64.cc View 1 2 3 4 5 4 chunks +4 lines, -12 lines 0 comments Download
M src/ic/x64/handler-compiler-x64.cc View 1 2 3 4 5 7 chunks +9 lines, -18 lines 0 comments Download
M src/ic/x64/ic-x64.cc View 1 2 3 4 5 4 chunks +4 lines, -12 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 5 6 3 chunks +7 lines, -12 lines 0 comments Download
M src/mips/debug-mips.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/mips/macro-assembler-mips.h View 1 2 3 4 5 6 1 chunk +7 lines, -7 lines 0 comments Download
M src/mips/macro-assembler-mips.cc View 1 2 3 4 5 6 3 chunks +6 lines, -5 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 4 5 6 3 chunks +7 lines, -12 lines 0 comments Download
M src/mips64/debug-mips64.cc View 1 1 chunk +2 lines, -1 line 0 comments Download
M src/mips64/macro-assembler-mips64.h View 1 2 3 4 5 6 1 chunk +7 lines, -7 lines 0 comments Download
M src/mips64/macro-assembler-mips64.cc View 1 2 3 4 5 6 3 chunks +6 lines, -5 lines 0 comments Download
M src/ppc/macro-assembler-ppc.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 3 chunks +37 lines, -0 lines 0 comments Download
M src/runtime/runtime-debug.cc View 1 2 3 4 1 chunk +11 lines, -0 lines 0 comments Download
M src/snapshot/serialize.cc View 2 chunks +0 lines, -15 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 4 5 3 chunks +6 lines, -13 lines 0 comments Download
M src/x64/debug-x64.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/x64/macro-assembler-x64.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/x87/macro-assembler-x87.cc View 1 chunk +2 lines, -1 line 0 comments Download
M test/mjsunit/regress/regress-119429.js View 1 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 14 (6 generated)
danno
PTAL
5 years, 5 months ago (2015-07-23 11:20:47 UTC) #2
Michael Starzinger
LGTM, just nits. I like it! https://codereview.chromium.org/1248303002/diff/60001/src/runtime/runtime-debug.cc File src/runtime/runtime-debug.cc (right): https://codereview.chromium.org/1248303002/diff/60001/src/runtime/runtime-debug.cc#newcode19 src/runtime/runtime-debug.cc:19: RUNTIME_FUNCTION(Runtime_DebugBreak) { nit: ...
5 years, 5 months ago (2015-07-23 11:36:15 UTC) #3
danno
Feedback addressed. Landing. https://codereview.chromium.org/1248303002/diff/60001/src/runtime/runtime-debug.cc File src/runtime/runtime-debug.cc (right): https://codereview.chromium.org/1248303002/diff/60001/src/runtime/runtime-debug.cc#newcode19 src/runtime/runtime-debug.cc:19: RUNTIME_FUNCTION(Runtime_DebugBreak) { On 2015/07/23 at 11:36:15, ...
5 years, 5 months ago (2015-07-23 11:50:22 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1248303002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1248303002/80001
5 years, 5 months ago (2015-07-23 11:52:06 UTC) #7
Yang
LGTM with a nit. https://codereview.chromium.org/1248303002/diff/80001/src/arm64/code-stubs-arm64.cc File src/arm64/code-stubs-arm64.cc (right): https://codereview.chromium.org/1248303002/diff/80001/src/arm64/code-stubs-arm64.cc#newcode2059 src/arm64/code-stubs-arm64.cc:2059: __ TailCallExternalReference( Maybe use TailCallRuntime ...
5 years, 5 months ago (2015-07-23 12:00:50 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1248303002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1248303002/120001
5 years, 5 months ago (2015-07-23 13:15:56 UTC) #12
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years, 5 months ago (2015-07-23 13:32:18 UTC) #13
commit-bot: I haz the power
5 years, 5 months ago (2015-07-23 13:32:37 UTC) #14
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/bc8041dc2b4c8431c5c2476496acd3b7b8b3f61e
Cr-Commit-Position: refs/heads/master@{#29811}

Powered by Google App Engine
This is Rietveld 408576698