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

Issue 985713003: [turbofan] Fix lazy deopt for JSToNumber conversions in binary operations. (Closed)

Created:
5 years, 9 months ago by Jarin
Modified:
5 years, 9 months ago
Reviewers:
Benedikt Meurer
CC:
Michael Starzinger, v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@multiple-framestates
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Fix lazy deopt for JSToNumber conversions in binary operations. This slightly hacky change provides lazy deopt points for to-number conversions in binops: When we deopt from a to-number conversion, we create a frame state with the already-converted value(s) so that we do not repeat the side effect of the conversion. Embenchen numbers are below. It is not quite clear what happened to fasta - the hot code looks nearly identical. Current: EmbenchenBox2d(RunTime): 12746 ms. d8-master: EmbenchenBox2d(RunTime): 13861 ms. ----------- bullet.js Current: EmbenchenBullet(RunTime): 17680 ms. d8-master: EmbenchenBullet(RunTime): 19170 ms. ----------- copy.js Current: EmbenchenCopy(RunTime): 4939 ms. d8-master: EmbenchenCopy(RunTime): 4943 ms. ----------- corrections.js Current: EmbenchenCorrections(RunTime): 6639 ms. d8-master: EmbenchenCorrections(RunTime): 6728 ms. ----------- fannkuch.js Current: EmbenchenFannkuch(RunTime): 4630 ms. d8-master: EmbenchenFannkuch(RunTime): 4872 ms. ----------- fasta.js Current: EmbenchenFasta(RunTime): 10209 ms. d8-master: EmbenchenFasta(RunTime): 9673 ms. ----------- lua_binarytrees.js Current: EmbenchenLuaBinaryTrees(RunTime): 12936 ms. d8-master: EmbenchenLuaBinaryTrees(RunTime): 15529 ms. ----------- memops.js Current: EmbenchenMemOps(RunTime): 7357 ms. d8-master: EmbenchenMemOps(RunTime): 7340 ms. ----------- primes.js Current: EmbenchenPrimes(RunTime): 7530 ms. d8-master: EmbenchenPrimes(RunTime): 7457 ms. ----------- skinning.js Current: EmbenchenSkinning(RunTime): 15832 ms. d8-master: EmbenchenSkinning(RunTime): 15630 ms. ----------- zlib.js Current: EmbenchenZLib(RunTime): 11176 ms. d8-master: EmbenchenZLib(RunTime): 11324 ms. BUG= Committed: https://crrev.com/6f559b7ec32ac5d40a78dcadad297c8be4a979cf Cr-Commit-Position: refs/heads/master@{#27071}

Patch Set 1 #

Patch Set 2 : Fixes, rebase #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+194 lines, -121 lines) Patch
M src/compiler/js-graph.cc View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/js-typed-lowering.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/js-typed-lowering.cc View 1 16 chunks +147 lines, -118 lines 2 comments Download
M test/cctest/cctest.status View 1 1 chunk +3 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-js-typed-lowering.cc View 1 chunk +1 line, -1 line 0 comments Download
A test/mjsunit/compiler/deopt-tonumber-binop.js View 1 chunk +40 lines, -0 lines 0 comments Download
M test/mjsunit/mjsunit.status View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 9 (2 generated)
Jarin
Could you take a look, please?
5 years, 9 months ago (2015-03-09 09:36:48 UTC) #2
Benedikt Meurer
https://codereview.chromium.org/985713003/diff/20001/src/compiler/js-typed-lowering.cc File src/compiler/js-typed-lowering.cc (right): https://codereview.chromium.org/985713003/diff/20001/src/compiler/js-typed-lowering.cc#newcode231 src/compiler/js-typed-lowering.cc:231: return graph()->NewNode(op, frame_state->InputAt(0), As discussed offline, please add something ...
5 years, 9 months ago (2015-03-09 09:57:30 UTC) #3
Jarin
On 2015/03/09 09:57:30, Benedikt Meurer wrote: > https://codereview.chromium.org/985713003/diff/20001/src/compiler/js-typed-lowering.cc > File src/compiler/js-typed-lowering.cc (right): > > https://codereview.chromium.org/985713003/diff/20001/src/compiler/js-typed-lowering.cc#newcode231 ...
5 years, 9 months ago (2015-03-09 11:43:35 UTC) #4
Benedikt Meurer
lgtm
5 years, 9 months ago (2015-03-09 11:43:45 UTC) #5
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/985713003/20001
5 years, 9 months ago (2015-03-09 13:04:01 UTC) #7
commit-bot: I haz the power
Committed patchset #2 (id:20001)
5 years, 9 months ago (2015-03-09 13:24:34 UTC) #8
commit-bot: I haz the power
5 years, 9 months ago (2015-03-09 13:24:49 UTC) #9
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/6f559b7ec32ac5d40a78dcadad297c8be4a979cf
Cr-Commit-Position: refs/heads/master@{#27071}

Powered by Google App Engine
This is Rietveld 408576698