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

Issue 1333843002: [runtime] Move binary operator fallbacks into the runtime. (Closed)

Created:
5 years, 3 months ago by Benedikt Meurer
Modified:
5 years, 3 months ago
CC:
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

[runtime] Move binary operator fallbacks into the runtime. Replace the ADD, SUB, etc. builtins with proper runtime implementations, and expose them as runtime calls that can be used by the code stubs and the interpreter (for now). Also remove all the support runtime functions for ADD, SUB and friends, namely %NumberAdd, %NumberSub, and so on. R=mstarzinger@chromium.org CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg Committed: https://crrev.com/a1b2ec60b0d5ab1ee5ba5af362b22bc4b86ebcd6 Cr-Commit-Position: refs/heads/master@{#30680}

Patch Set 1 #

Total comments: 6

Patch Set 2 : No need for frame states in bytecode handlers. Add test case. #

Total comments: 4
Unified diffs Side-by-side diffs Delta from patch set Stats (+746 lines, -609 lines) Patch
M BUILD.gn View 1 chunk +1 line, -0 lines 0 comments Download
M src/accessors.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/api.cc View 2 chunks +2 lines, -3 lines 0 comments Download
M src/compiler/interpreter-assembler.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M src/compiler/interpreter-assembler.cc View 1 1 chunk +4 lines, -30 lines 0 comments Download
M src/compiler/linkage.h View 1 1 chunk +1 line, -1 line 2 comments Download
M src/compiler/linkage.cc View 1 2 chunks +5 lines, -4 lines 0 comments Download
M src/compiler/raw-machine-assembler.h View 1 1 chunk +5 lines, -3 lines 0 comments Download
M src/compiler/raw-machine-assembler.cc View 1 1 chunk +23 lines, -6 lines 0 comments Download
M src/contexts.h View 1 chunk +18 lines, -40 lines 0 comments Download
M src/execution.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M src/hydrogen.cc View 2 chunks +51 lines, -4 lines 1 comment Download
M src/ic/ic.h View 1 chunk +0 lines, -2 lines 0 comments Download
M src/ic/ic.cc View 2 chunks +60 lines, -63 lines 0 comments Download
M src/interpreter/interpreter.h View 2 chunks +3 lines, -2 lines 0 comments Download
M src/interpreter/interpreter.cc View 6 chunks +7 lines, -7 lines 0 comments Download
M src/json-stringifier.h View 1 chunk +2 lines, -2 lines 0 comments Download
M src/objects.h View 2 chunks +42 lines, -2 lines 0 comments Download
M src/objects.cc View 3 chunks +200 lines, -3 lines 0 comments Download
M src/runtime.js View 3 chunks +0 lines, -254 lines 0 comments Download
M src/runtime/runtime.h View 3 chunks +25 lines, -11 lines 1 comment Download
M src/runtime/runtime-i18n.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M src/runtime/runtime-numbers.cc View 2 chunks +0 lines, -111 lines 0 comments Download
M src/runtime/runtime-object.cc View 1 chunk +1 line, -2 lines 0 comments Download
A src/runtime/runtime-operators.cc View 1 chunk +277 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-jscalls.cc View 1 chunk +3 lines, -4 lines 0 comments Download
M test/mjsunit/stack-traces-2.js View 1 chunk +0 lines, -3 lines 0 comments Download
M test/unittests/compiler/interpreter-assembler-unittest.cc View 1 1 chunk +7 lines, -25 lines 0 comments Download
M test/webkit/function-apply-aliased.js View 1 chunk +0 lines, -13 lines 0 comments Download
M test/webkit/function-apply-aliased-expected.txt View 1 chunk +0 lines, -2 lines 0 comments Download
M tools/gyp/v8.gyp View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 17 (3 generated)
Benedikt Meurer
5 years, 3 months ago (2015-09-10 09:46:40 UTC) #1
Benedikt Meurer
Michi: Please review the compiler and runtime changes. Ross: Please check interpreter changes.
5 years, 3 months ago (2015-09-10 09:47:28 UTC) #3
Benedikt Meurer
https://codereview.chromium.org/1333843002/diff/1/test/webkit/function-apply-aliased.js File test/webkit/function-apply-aliased.js (left): https://codereview.chromium.org/1333843002/diff/1/test/webkit/function-apply-aliased.js#oldcode71 test/webkit/function-apply-aliased.js:71: function stackOverflowTest() { Note: This test was testing specific ...
5 years, 3 months ago (2015-09-10 09:49:34 UTC) #4
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1333843002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1333843002/1
5 years, 3 months ago (2015-09-10 09:53:31 UTC) #6
rmcilroy
A high level question about frame states. https://codereview.chromium.org/1333843002/diff/1/src/compiler/interpreter-assembler.h File src/compiler/interpreter-assembler.h (right): https://codereview.chromium.org/1333843002/diff/1/src/compiler/interpreter-assembler.h#newcode119 src/compiler/interpreter-assembler.h:119: // Returns ...
5 years, 3 months ago (2015-09-10 10:28:25 UTC) #7
Benedikt Meurer
https://codereview.chromium.org/1333843002/diff/1/src/compiler/interpreter-assembler.h File src/compiler/interpreter-assembler.h (right): https://codereview.chromium.org/1333843002/diff/1/src/compiler/interpreter-assembler.h#newcode119 src/compiler/interpreter-assembler.h:119: // Returns an empty frame (used as a placeholder ...
5 years, 3 months ago (2015-09-10 10:31:12 UTC) #8
rmcilroy
https://codereview.chromium.org/1333843002/diff/1/src/compiler/interpreter-assembler.h File src/compiler/interpreter-assembler.h (right): https://codereview.chromium.org/1333843002/diff/1/src/compiler/interpreter-assembler.h#newcode119 src/compiler/interpreter-assembler.h:119: // Returns an empty frame (used as a placeholder ...
5 years, 3 months ago (2015-09-10 10:43:22 UTC) #9
Benedikt Meurer
Ok, we don't need the frame state now :-) https://codereview.chromium.org/1333843002/diff/1/test/unittests/compiler/interpreter-assembler-unittest.cc File test/unittests/compiler/interpreter-assembler-unittest.cc (right): https://codereview.chromium.org/1333843002/diff/1/test/unittests/compiler/interpreter-assembler-unittest.cc#newcode330 test/unittests/compiler/interpreter-assembler-unittest.cc:330: ...
5 years, 3 months ago (2015-09-10 10:55:49 UTC) #10
rmcilroy
Interpreter changes lgtm. One suggestion in linkage.h/cc. I didn't look at the other changes. https://codereview.chromium.org/1333843002/diff/20001/src/compiler/linkage.h ...
5 years, 3 months ago (2015-09-10 11:16:34 UTC) #11
Benedikt Meurer
https://codereview.chromium.org/1333843002/diff/20001/src/compiler/linkage.h File src/compiler/linkage.h (right): https://codereview.chromium.org/1333843002/diff/20001/src/compiler/linkage.h#newcode276 src/compiler/linkage.h:276: Operator::Properties properties, bool needs_frame_state = true); Mhm, I think ...
5 years, 3 months ago (2015-09-10 11:26:51 UTC) #12
Michael Starzinger
LGTM. https://codereview.chromium.org/1333843002/diff/20001/src/hydrogen.cc File src/hydrogen.cc (right): https://codereview.chromium.org/1333843002/diff/20001/src/hydrogen.cc#newcode11072 src/hydrogen.cc:11072: UNREACHABLE(); Sneaky fall-through to convince compiler that function_id ...
5 years, 3 months ago (2015-09-10 11:43:24 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1333843002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1333843002/20001
5 years, 3 months ago (2015-09-10 11:44:45 UTC) #15
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 3 months ago (2015-09-10 13:04:21 UTC) #16
commit-bot: I haz the power
5 years, 3 months ago (2015-09-10 13:04:39 UTC) #17
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/a1b2ec60b0d5ab1ee5ba5af362b22bc4b86ebcd6
Cr-Commit-Position: refs/heads/master@{#30680}

Powered by Google App Engine
This is Rietveld 408576698