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

Issue 1028093002: VectorICs: keyed element loads were kicking out non-smi keys unnecessarily (Closed)

Created:
5 years, 9 months ago by mvstanton
Modified:
5 years, 9 months ago
Reviewers:
Yang
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

VectorICs: keyed element loads were kicking out non-smi keys unnecessarily Handlers should be in charge of this work. The change uncovered a bug in vector-ics related to keyed loads into strings. It's important for StringCharCodeAtGenerator, a helper used in full code and in LoadIndexedStringStub (a handler) to protect the vector and slot registers when it makes a runtime call to convert a HeapNumber to a Smi. It's still possible for the handler to MISS after this call, perhaps due to out of bounds access. In that case, the vector and slot registers need to be delivered safely to the MISS handler. BUG= Committed: https://crrev.com/6689cc27ebe60685c025de9ae1f09919093f8213 Cr-Commit-Position: refs/heads/master@{#27377}

Patch Set 1 : Patch one. #

Patch Set 2 : Turn off --vector-ics flag. #

Total comments: 8

Patch Set 3 : code comments. #

Patch Set 4 : Bugfix. #

Patch Set 5 : REBASE. #

Patch Set 6 : Disable assert. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+107 lines, -49 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 6 chunks +16 lines, -8 lines 0 comments Download
M src/arm/full-codegen-arm.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 5 chunks +16 lines, -8 lines 0 comments Download
M src/arm64/full-codegen-arm64.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/code-stubs.h View 3 chunks +12 lines, -3 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 5 chunks +11 lines, -5 lines 0 comments Download
M src/ia32/full-codegen-ia32.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 5 chunks +15 lines, -10 lines 0 comments Download
M src/mips/full-codegen-mips.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M src/x64/code-stubs-x64.cc View 6 chunks +11 lines, -5 lines 0 comments Download
M src/x64/full-codegen-x64.cc View 1 2 3 4 2 chunks +2 lines, -2 lines 0 comments Download
M test/mjsunit/string-index.js View 1 2 3 4 5 2 chunks +16 lines, -0 lines 0 comments Download

Messages

Total messages: 15 (7 generated)
mvstanton
Hi Yang, here is the CL we just discussed. Thanks for the look, --Michael
5 years, 9 months ago (2015-03-23 10:22:24 UTC) #3
Yang
LGTM with comments. https://codereview.chromium.org/1028093002/diff/40001/src/arm/code-stubs-arm.cc File src/arm/code-stubs-arm.cc (right): https://codereview.chromium.org/1028093002/diff/40001/src/arm/code-stubs-arm.cc#newcode2919 src/arm/code-stubs-arm.cc:2919: __ push(VectorLoadICDescriptor::VectorRegister()); If you use Push ...
5 years, 9 months ago (2015-03-23 14:23:59 UTC) #4
mvstanton
Thanks for the comments, Yang. I've uploaded a patch. Note an unrelated change in mips, ...
5 years, 9 months ago (2015-03-23 15:54: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/1028093002/100001
5 years, 9 months ago (2015-03-23 16:00:15 UTC) #8
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_nodcheck_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel/builds/1145)
5 years, 9 months ago (2015-03-23 16:09:34 UTC) #10
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1028093002/120001
5 years, 9 months ago (2015-03-23 17:48:28 UTC) #13
commit-bot: I haz the power
Committed patchset #6 (id:120001)
5 years, 9 months ago (2015-03-23 18:50:18 UTC) #14
commit-bot: I haz the power
5 years, 9 months ago (2015-03-23 18:50:34 UTC) #15
Message was sent while issue was closed.
Patchset 6 (id:??) landed as
https://crrev.com/6689cc27ebe60685c025de9ae1f09919093f8213
Cr-Commit-Position: refs/heads/master@{#27377}

Powered by Google App Engine
This is Rietveld 408576698