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

Issue 1369123002: [Interpreter] Add interpreter support for compare ops and ToBoolean. (Closed)

Created:
5 years, 2 months ago by oth
Modified:
5 years, 2 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

[Interpreter] Add interpreter support for compare ops and ToBoolean. The comparison operators and ToBoolean are implemented by calling into the runtime. There are new runtime methods are prefixed with Interpreter to make use case clear. BUG=v8:4280 LOG=N Committed: https://crrev.com/17363fa4f3bbf483ff68368c7b01355adfdce72f Cr-Commit-Position: refs/heads/master@{#30983}

Patch Set 1 #

Patch Set 2 : Fix compilation with MSVC. #

Patch Set 3 : Compilation fix. #

Total comments: 4

Patch Set 4 : Incorporate bmeurer's comments (https://codereview.chromium.org/1369123002/#msg4). #

Total comments: 1

Patch Set 5 : Previous change dropped exception, this adds it back. #

Total comments: 2

Patch Set 6 : Remove helper method from runtime-interpreter.cc. #

Total comments: 12

Patch Set 7 : Incorporate review feedback from mstarzinger and rmcilroy. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+675 lines, -78 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/bytecode-graph-builder.cc View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/bytecode-array-builder.cc View 1 2 3 4 5 6 2 chunks +4 lines, -4 lines 0 comments Download
M src/interpreter/bytecodes.h View 1 2 3 1 chunk +2 lines, -2 lines 0 comments Download
M src/interpreter/interpreter.cc View 1 2 3 8 chunks +16 lines, -25 lines 0 comments Download
M src/objects.h View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 5 6 2 chunks +13 lines, -0 lines 0 comments Download
A src/runtime/runtime-interpreter.cc View 1 2 3 4 5 6 1 chunk +125 lines, -0 lines 0 comments Download
M test/cctest/interpreter/test-bytecode-generator.cc View 1 2 3 4 5 6 11 chunks +68 lines, -43 lines 0 comments Download
M test/cctest/interpreter/test-interpreter.cc View 1 2 3 4 5 6 2 chunks +269 lines, -0 lines 0 comments Download
M test/unittests/interpreter/bytecodes-unittest.cc View 1 chunk +1 line, -1 line 0 comments Download
A test/unittests/runtime/runtime-interpreter-unittest.cc View 1 2 3 4 5 6 1 chunk +171 lines, -0 lines 0 comments Download
M test/unittests/unittests.gyp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 1 chunk +1 line, -0 lines 0 comments Download

Dependent Patchsets:

Messages

Total messages: 18 (4 generated)
oth
bmeurer@chromium.org: Please review changes in the runtime. rmcilroy@chromium.org: Please review changes. Thanks
5 years, 2 months ago (2015-09-28 08:42:00 UTC) #2
Benedikt Meurer
https://codereview.chromium.org/1369123002/diff/40001/src/runtime/runtime-interpreter.cc File src/runtime/runtime-interpreter.cc (right): https://codereview.chromium.org/1369123002/diff/40001/src/runtime/runtime-interpreter.cc#newcode14 src/runtime/runtime-interpreter.cc:14: static Object* ComparisonHelper(Isolate* isolate, ComparisonResult expected, Please don't write ...
5 years, 2 months ago (2015-09-28 09:05:23 UTC) #4
Benedikt Meurer
https://codereview.chromium.org/1369123002/diff/60001/src/runtime/runtime-interpreter.cc File src/runtime/runtime-interpreter.cc (right): https://codereview.chromium.org/1369123002/diff/60001/src/runtime/runtime-interpreter.cc#newcode30 src/runtime/runtime-interpreter.cc:30: return MaybeBooleanHelper(isolate, Object::Equals(x, y)); Please avoid this indirection and ...
5 years, 2 months ago (2015-09-28 10:19:53 UTC) #5
oth
Thanks Benedikt, kindly appreciated. https://codereview.chromium.org/1369123002/diff/40001/src/runtime/runtime-interpreter.cc File src/runtime/runtime-interpreter.cc (right): https://codereview.chromium.org/1369123002/diff/40001/src/runtime/runtime-interpreter.cc#newcode14 src/runtime/runtime-interpreter.cc:14: static Object* ComparisonHelper(Isolate* isolate, ComparisonResult ...
5 years, 2 months ago (2015-09-28 10:23:02 UTC) #6
Benedikt Meurer
https://codereview.chromium.org/1369123002/diff/80001/src/runtime/runtime-interpreter.cc File src/runtime/runtime-interpreter.cc (right): https://codereview.chromium.org/1369123002/diff/80001/src/runtime/runtime-interpreter.cc#newcode29 src/runtime/runtime-interpreter.cc:29: return MaybeBooleanHelper(isolate, Object::Equals(x, y)); I'd really prefer to code ...
5 years, 2 months ago (2015-09-28 10:24:38 UTC) #7
oth
Thanks, feedback incorporated. https://codereview.chromium.org/1369123002/diff/80001/src/runtime/runtime-interpreter.cc File src/runtime/runtime-interpreter.cc (right): https://codereview.chromium.org/1369123002/diff/80001/src/runtime/runtime-interpreter.cc#newcode29 src/runtime/runtime-interpreter.cc:29: return MaybeBooleanHelper(isolate, Object::Equals(x, y)); On 2015/09/28 ...
5 years, 2 months ago (2015-09-28 10:38:45 UTC) #8
Michael Starzinger
https://codereview.chromium.org/1369123002/diff/100001/src/runtime/runtime.h File src/runtime/runtime.h (right): https://codereview.chromium.org/1369123002/diff/100001/src/runtime/runtime.h#newcode219 src/runtime/runtime.h:219: #define FOR_EACH_INTRINSIC_FOR_INTERPRETER(F) \ nit: s/FOR_EACH_INTRINSIC_FOR_INTERPRETER/FOR_EACH_INTRINSIC_INTERPRETER/ for consistency here. https://codereview.chromium.org/1369123002/diff/100001/test/unittests/runtime/runtime-interpreter-unittest.cc ...
5 years, 2 months ago (2015-09-28 11:53:14 UTC) #9
Benedikt Meurer
Ok, LGTM on src/runtime. Didn't check the rest.
5 years, 2 months ago (2015-09-28 11:54:16 UTC) #10
Michael Starzinger
LGTM on compiler and interpreter directory (modulo my nits).
5 years, 2 months ago (2015-09-28 12:02:44 UTC) #11
rmcilroy
lgtm! https://codereview.chromium.org/1369123002/diff/100001/src/runtime/runtime.h File src/runtime/runtime.h (right): https://codereview.chromium.org/1369123002/diff/100001/src/runtime/runtime.h#newcode228 src/runtime/runtime.h:228: F(InterpreterCastToBoolean, 1, 1) /s/CastToBoolean/ToBoolean for consistency https://codereview.chromium.org/1369123002/diff/100001/test/cctest/interpreter/test-bytecode-generator.cc File ...
5 years, 2 months ago (2015-09-28 14:30:39 UTC) #12
oth
Thanks all, all comments incorporated. https://codereview.chromium.org/1369123002/diff/100001/src/runtime/runtime.h File src/runtime/runtime.h (right): https://codereview.chromium.org/1369123002/diff/100001/src/runtime/runtime.h#newcode219 src/runtime/runtime.h:219: #define FOR_EACH_INTRINSIC_FOR_INTERPRETER(F) \ On ...
5 years, 2 months ago (2015-09-28 15:05:38 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1369123002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1369123002/120001
5 years, 2 months ago (2015-09-28 15:25:10 UTC) #16
commit-bot: I haz the power
Committed patchset #7 (id:120001)
5 years, 2 months ago (2015-09-28 18:06:06 UTC) #17
commit-bot: I haz the power
5 years, 2 months ago (2015-09-28 18:07:18 UTC) #18
Message was sent while issue was closed.
Patchset 7 (id:??) landed as
https://crrev.com/17363fa4f3bbf483ff68368c7b01355adfdce72f
Cr-Commit-Position: refs/heads/master@{#30983}

Powered by Google App Engine
This is Rietveld 408576698