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

Issue 2902533003: [turbofan] Add support for inlining accessors into try-blocks. (Closed)

Created:
3 years, 7 months ago by Benedikt Meurer
Modified:
3 years, 7 months ago
Reviewers:
Jarin
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/heads/master
Project:
v8
Visibility:
Public.

Description

[turbofan] Add support for inlining accessors into try-blocks. Previously the inlining of accessors into try-blocks (i.e. try/catch, try/finally, for-of, etc.) was disabled in JSNativeContextSpecialization, which prevented a couple of interesting optimizations, i.e. we end up with a LOAD_IC in optimized code for this simple example: class A { get x() { return 1; } } function foo(a) { try { return a.x; } catch (e) { return 0; } } foo(new A) This is now fixed and the accessors are properly rewired into the handler chain. BUG=v8:6278, v8:6344, v8:6424 R=jarin@chromium.org Review-Url: https://codereview.chromium.org/2902533003 Cr-Commit-Position: refs/heads/master@{#45485} Committed: https://chromium.googlesource.com/v8/v8/+/9dbafbd5d3eeab36fb8aaa48185bd228658783f6

Patch Set 1 #

Total comments: 4

Patch Set 2 : Address feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+129 lines, -394 lines) Patch
M src/compiler/js-native-context-specialization.h View 1 chunk +5 lines, -7 lines 0 comments Download
M src/compiler/js-native-context-specialization.cc View 1 10 chunks +48 lines, -20 lines 0 comments Download
D test/mjsunit/compiler/inline-accessors.js View 1 1 chunk +0 lines, -368 lines 0 comments Download
A test/mjsunit/compiler/inline-accessors1.js View 1 1 chunk +77 lines, -0 lines 0 comments Download
A + test/mjsunit/compiler/inline-accessors2.js View 1 0 chunks +-1 lines, --1 lines 0 comments Download

Messages

Total messages: 17 (11 generated)
Benedikt Meurer
3 years, 7 months ago (2017-05-22 19:45:01 UTC) #1
Jarin
Please, write tests for this, including throwing into lazy deopted code. https://codereview.chromium.org/2902533003/diff/1/src/compiler/js-native-context-specialization.cc File src/compiler/js-native-context-specialization.cc (right): ...
3 years, 7 months ago (2017-05-22 20:23:38 UTC) #6
Benedikt Meurer
https://codereview.chromium.org/2902533003/diff/1/src/compiler/js-native-context-specialization.cc File src/compiler/js-native-context-specialization.cc (right): https://codereview.chromium.org/2902533003/diff/1/src/compiler/js-native-context-specialization.cc#newcode929 src/compiler/js-native-context-specialization.cc:929: DCHECK_NOT_NULL(if_exceptions); On 2017/05/22 20:23:37, Jarin wrote: > DCHECK(&if_exception_nodes == ...
3 years, 7 months ago (2017-05-23 11:06:26 UTC) #11
Jarin
lgtm
3 years, 7 months ago (2017-05-23 11:06:49 UTC) #12
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.org/2902533003/20001
3 years, 7 months ago (2017-05-23 11:09:21 UTC) #14
commit-bot: I haz the power
3 years, 7 months ago (2017-05-23 12:02:36 UTC) #17
Message was sent while issue was closed.
Committed patchset #2 (id:20001) as
https://chromium.googlesource.com/v8/v8/+/9dbafbd5d3eeab36fb8aaa48185bd228658...

Powered by Google App Engine
This is Rietveld 408576698