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

Issue 755513003: Hydrogen: fix keyed loads with string keys (Closed)

Created:
6 years ago by indutny
Modified:
6 years ago
CC:
v8-dev
Base URL:
gh:v8/v8@master
Project:
v8
Visibility:
Public.

Description

Hydrogen: fix keyed loads with string keys Keyed loads should not unconditionally be compiled to element loads. Update KeyedLoadICs to keep track of the key type, so that Hydrogen can emit ICs for string-keyed loads it doesn't have inline support for. BUG=v8:3167 R=jkummerow@chromium.org Committed: https://crrev.com/f6e68d2c2c1e92c14f220223f4a0b54b54aadff6 Cr-Commit-Position: refs/heads/master@{#25817}

Patch Set 1 #

Patch Set 2 : better fix #

Total comments: 7

Patch Set 3 : fixes #

Total comments: 7

Patch Set 4 : fixes #

Total comments: 3

Patch Set 5 : moved tes #

Patch Set 6 : remove arg #

Patch Set 7 : rebase #

Patch Set 8 : rebase again #

Total comments: 1
Unified diffs Side-by-side diffs Delta from patch set Stats (+97 lines, -6 lines) Patch
M src/ast.h View 1 2 3 4 5 6 3 chunks +5 lines, -2 lines 0 comments Download
M src/hydrogen.cc View 1 2 3 4 5 6 1 chunk +1 line, -1 line 0 comments Download
M src/ic/ic.h View 1 2 3 4 5 6 1 chunk +13 lines, -0 lines 0 comments Download
M src/ic/ic-compiler.cc View 1 2 3 4 5 3 chunks +5 lines, -0 lines 0 comments Download
M src/type-info.h View 1 2 3 4 5 6 2 chunks +3 lines, -1 line 0 comments Download
M src/type-info.cc View 1 2 3 4 5 6 7 2 chunks +20 lines, -1 line 0 comments Download
M src/typing.cc View 1 2 3 4 5 6 1 chunk +4 lines, -1 line 1 comment Download
A test/mjsunit/keyed-load-with-string-key.js View 1 2 3 4 5 6 7 1 chunk +46 lines, -0 lines 0 comments Download

Messages

Total messages: 30 (3 generated)
indutny
6 years ago (2014-12-02 20:00:34 UTC) #1
indutny
On 2014/12/02 20:00:34, indutny wrote: Actually, as pointed out by mraleph, it is not the ...
6 years ago (2014-12-03 07:59:41 UTC) #2
indutny
With lots of help from @mraleph, I was able to figure out the better way ...
6 years ago (2014-12-03 15:48:09 UTC) #3
danno
Adding the appropriate reviewers...
6 years ago (2014-12-03 15:53:33 UTC) #5
indutny
Ping? ;)
6 years ago (2014-12-05 12:54:30 UTC) #6
indutny
Sorry for pinging you again, but I am highly interested in outcome of this CL.
6 years ago (2014-12-10 08:16:52 UTC) #7
Jakob Kummerow
Yes, it's on my list. I like the general idea, but I'm not so happy ...
6 years ago (2014-12-10 08:41:50 UTC) #8
indutny
Thank you, Jakob! Looking forward for your comments.
6 years ago (2014-12-10 08:42:44 UTC) #9
Jakob Kummerow
This can be simplified quite a bit. Take a look at https://codereview.chromium.org/648703002. What that CL ...
6 years ago (2014-12-10 15:21:18 UTC) #10
indutny
Jakob, Thank you! Please find the updated patch with a proper commit message. Hopefully, I ...
6 years ago (2014-12-10 18:08:54 UTC) #11
Jakob Kummerow
The property IC compiler might have less-than-ideal naming conventions (from its point of view, "keyed" ...
6 years ago (2014-12-11 09:52:42 UTC) #12
indutny
Jakob, Thank you! Should be better now.
6 years ago (2014-12-12 08:16:11 UTC) #13
Jakob Kummerow
Getting there. I just noticed the test's name: "monorphic" is not a word, and even ...
6 years ago (2014-12-12 10:14:27 UTC) #14
indutny
Jakob, Moved test and left comment.
6 years ago (2014-12-12 13:05:25 UTC) #15
indutny
https://codereview.chromium.org/755513003/diff/60001/src/ic/ic-compiler.cc File src/ic/ic-compiler.cc (right): https://codereview.chromium.org/755513003/diff/60001/src/ic/ic-compiler.cc#newcode91 src/ic/ic-compiler.cc:91: ExtraICState extra_ic_state) { On 2014/12/12 10:14:27, Jakob wrote: > ...
6 years ago (2014-12-12 13:05:37 UTC) #16
Jakob Kummerow
https://codereview.chromium.org/755513003/diff/60001/src/ic/ic-compiler.cc File src/ic/ic-compiler.cc (right): https://codereview.chromium.org/755513003/diff/60001/src/ic/ic-compiler.cc#newcode91 src/ic/ic-compiler.cc:91: ExtraICState extra_ic_state) { On 2014/12/12 13:05:37, indutny wrote: > ...
6 years ago (2014-12-12 13:34:17 UTC) #17
indutny
On 2014/12/12 13:34:17, Jakob wrote: > https://codereview.chromium.org/755513003/diff/60001/src/ic/ic-compiler.cc > File src/ic/ic-compiler.cc (right): > > https://codereview.chromium.org/755513003/diff/60001/src/ic/ic-compiler.cc#newcode91 > ...
6 years ago (2014-12-12 13:46:03 UTC) #18
Jakob Kummerow
> Hm... I understand the idea, but don't get what you want me to do ...
6 years ago (2014-12-12 14:09:55 UTC) #19
indutny
Jakob, Hopefully it is better now :) Please take another look.
6 years ago (2014-12-13 01:28:32 UTC) #20
Jakob Kummerow
OK, looks good now. Please rebase; the patch doesn't apply to current HEAD. If you ...
6 years ago (2014-12-15 10:07:25 UTC) #21
indutny
Jakob, Took awhile, sorry! It looks like it doesn't handle: ``` void TypeFeedbackOracle::KeyedPropertyReceiverTypes( FeedbackVectorICSlot slot, ...
6 years ago (2014-12-15 12:51:22 UTC) #22
mvstanton
I'll follow-up with a small CL to make the Oracle learn this information from the ...
6 years ago (2014-12-15 13:06:36 UTC) #24
Jakob Kummerow
LGTM, let's see if the CQ can handle uploads from github checkouts. https://codereview.chromium.org/755513003/diff/140001/src/typing.cc File src/typing.cc ...
6 years ago (2014-12-15 13:07:57 UTC) #25
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/755513003/140001
6 years ago (2014-12-15 13:09:35 UTC) #27
commit-bot: I haz the power
Committed patchset #8 (id:140001)
6 years ago (2014-12-15 13:36:20 UTC) #28
indutny
On 2014/12/15 13:36:20, I haz the power (commit-bot) wrote: > Committed patchset #8 (id:140001) Yay, ...
6 years ago (2014-12-15 13:55:41 UTC) #29
commit-bot: I haz the power
6 years ago (2014-12-17 10:13:19 UTC) #30
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/f6e68d2c2c1e92c14f220223f4a0b54b54aadff6
Cr-Commit-Position: refs/heads/master@{#25817}

Powered by Google App Engine
This is Rietveld 408576698