Chromium Code Reviews

Issue 2733563002: [ic] Inline LoadIC into LdaNamedProperty bytecode handler (Closed)

Created:
3 years, 9 months ago by jgruber
Modified:
3 years, 9 months ago
Reviewers:
Igor Sheludko, rmcilroy
CC:
v8-reviews_googlegroups.com
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[ic] Inline LoadIC into LdaNamedProperty bytecode handler This inlines common LoadIC cases into the LdaNamedProperty bytecode handler. Smi handlers resulting in constant/field loads for monomorphic ICs omit frame construction. The same counts for the polymorphic case as long as the target handler is in the first two vector slots. Other cases (megamorphic, uninitialized) call the new LoadIC_Noninlined stub. Local benchmarks show up to 6% improvement on Sunspider with --future. BUG=v8:5917 Review-Url: https://codereview.chromium.org/2733563002 Cr-Commit-Position: refs/heads/master@{#43630} Committed: https://chromium.googlesource.com/v8/v8/+/0bfabaf17484579ff0adc33085ac232b4168636e

Patch Set 1 #

Total comments: 9

Patch Set 2 : Added polymorphic case and addressed comments #

Total comments: 6

Patch Set 3 : Remove LoadFeedbackSlot #

Unified diffs Side-by-side diffs Stats (+247 lines, -66 lines)
M src/builtins/builtins.h View 1 chunk +1 line, -0 lines 0 comments
M src/builtins/builtins-ic.cc View 1 chunk +1 line, -0 lines 0 comments
M src/code-factory.h View 1 chunk +1 line, -0 lines 0 comments
M src/code-factory.cc View 1 chunk +6 lines, -0 lines 0 comments
M src/code-stub-assembler.h View 1 chunk +1 line, -0 lines 0 comments
M src/code-stub-assembler.cc View 1 chunk +5 lines, -0 lines 0 comments
M src/ic/accessor-assembler.h View 4 chunks +12 lines, -1 line 0 comments
M src/ic/accessor-assembler.cc View 17 chunks +157 lines, -38 lines 0 comments
M src/interpreter/interpreter.h View 1 chunk +8 lines, -3 lines 0 comments
M src/interpreter/interpreter.cc View 5 chunks +55 lines, -24 lines 0 comments

Messages

Total messages: 26 (18 generated)
jgruber
PTAL. Some self-review comments inline. https://codereview.chromium.org/2733563002/diff/1/src/ic/accessor-assembler.cc File src/ic/accessor-assembler.cc (right): https://codereview.chromium.org/2733563002/diff/1/src/ic/accessor-assembler.cc#newcode22 src/ic/accessor-assembler.cc:22: Node* AccessorAssembler::LoadFeedbackSlot(Node* vector, Node* ...
3 years, 9 months ago (2017-03-03 13:31:14 UTC) #6
Igor Sheludko
Looks good, only nits. I'd appreciate that if you also move the inlined LoadGlobalIC part ...
3 years, 9 months ago (2017-03-03 15:29:44 UTC) #7
jgruber
The latest patchset moves logic to AccessorAssembler as requested. It also inlines the polymorphic case, ...
3 years, 9 months ago (2017-03-03 17:53:43 UTC) #11
Igor Sheludko
lgtm
3 years, 9 months ago (2017-03-03 21:43:25 UTC) #14
rmcilroy
> Local benchmarks show up to 6% improvement on Sunspider with --future. Nice :). LGTM, ...
3 years, 9 months ago (2017-03-06 09:06:37 UTC) #15
jgruber
Thanks for the reviews! Removing LoadFeedbackSlot and landing after. https://codereview.chromium.org/2733563002/diff/20001/src/ic/accessor-assembler.cc File src/ic/accessor-assembler.cc (right): https://codereview.chromium.org/2733563002/diff/20001/src/ic/accessor-assembler.cc#newcode22 src/ic/accessor-assembler.cc:22: ...
3 years, 9 months ago (2017-03-07 09:40:56 UTC) #16
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/2733563002/40001
3 years, 9 months ago (2017-03-07 10:19:58 UTC) #23
commit-bot: I haz the power
3 years, 9 months ago (2017-03-07 10:21:39 UTC) #26
Message was sent while issue was closed.
Committed patchset #3 (id:40001) as
https://chromium.googlesource.com/v8/v8/+/0bfabaf17484579ff0adc33085ac232b416...

Powered by Google App Engine