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

Issue 1100083002: Don't MISS if you read the hole from certain FastHoley arrays. (Closed)

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

Description

Don't MISS if you read the hole from certain FastHoley arrays. If the array's map is the initial FastHoley array map, and the array prototype chain is undisturbed and empty of elements, then keyed loads can convert the load of a hole to undefined. BUG= Committed: https://crrev.com/caeb9004f0bfc2a916fc63e9d27100a3110016d4 Cr-Commit-Position: refs/heads/master@{#28056}

Patch Set 1 : Patch one. #

Patch Set 2 : With ports and test. #

Total comments: 30

Patch Set 3 : Addressed review comments. #

Patch Set 4 : REBASE and fix arm64 compilation. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+276 lines, -74 lines) Patch
M src/arm/lithium-arm.cc View 1 1 chunk +15 lines, -8 lines 0 comments Download
M src/arm/lithium-codegen-arm.cc View 1 2 3 1 chunk +17 lines, -0 lines 0 comments Download
M src/arm64/lithium-arm64.cc View 1 2 3 1 chunk +14 lines, -11 lines 0 comments Download
M src/arm64/lithium-codegen-arm64.cc View 1 2 3 1 chunk +16 lines, -0 lines 0 comments Download
M src/code-stubs.h View 1 2 3 2 chunks +10 lines, -3 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 2 1 chunk +5 lines, -1 line 0 comments Download
M src/heap/heap.cc View 1 2 3 1 chunk +1 line, -1 line 0 comments Download
M src/hydrogen.cc View 1 2 3 1 chunk +10 lines, -3 lines 0 comments Download
M src/hydrogen-instructions.h View 1 2 3 3 chunks +5 lines, -6 lines 0 comments Download
M src/hydrogen-instructions.cc View 1 chunk +4 lines, -0 lines 0 comments Download
M src/ia32/lithium-codegen-ia32.cc View 1 2 3 1 chunk +16 lines, -0 lines 0 comments Download
M src/ia32/lithium-ia32.cc View 1 1 chunk +15 lines, -8 lines 0 comments Download
M src/ic/handler-compiler.cc View 1 2 2 chunks +9 lines, -2 lines 0 comments Download
M src/ic/ic-compiler.cc View 1 2 2 chunks +10 lines, -3 lines 0 comments Download
M src/isolate.h View 1 2 3 1 chunk +3 lines, -0 lines 0 comments Download
M src/isolate.cc View 1 2 3 2 chunks +6 lines, -4 lines 0 comments Download
M src/mips/lithium-codegen-mips.cc View 1 2 3 1 chunk +16 lines, -0 lines 0 comments Download
M src/mips/lithium-mips.cc View 1 1 chunk +15 lines, -8 lines 0 comments Download
M src/mips64/lithium-codegen-mips64.cc View 1 2 3 1 chunk +17 lines, -0 lines 0 comments Download
M src/mips64/lithium-mips64.cc View 1 1 chunk +15 lines, -8 lines 0 comments Download
M src/x64/lithium-codegen-x64.cc View 1 2 3 1 chunk +16 lines, -0 lines 0 comments Download
M src/x64/lithium-x64.cc View 1 1 chunk +15 lines, -8 lines 0 comments Download
A test/mjsunit/keyed-load-hole-to-undefined.js View 1 1 chunk +26 lines, -0 lines 0 comments Download

Messages

Total messages: 20 (10 generated)
mvstanton
Hi Jakob, Here is the change we discussed yesterday. Have a look when you get ...
5 years, 8 months ago (2015-04-23 11:50:30 UTC) #6
abigail.schenk6
lgtm
5 years, 8 months ago (2015-04-23 12:59:28 UTC) #8
Jakob Kummerow
LGTM with a bunch of comments, mostly nits though. Happy to take another look if ...
5 years, 8 months ago (2015-04-23 13:40:00 UTC) #9
paul.l...
lgtm, with one nit. https://codereview.chromium.org/1100083002/diff/100001/src/mips64/lithium-codegen-mips64.cc File src/mips64/lithium-codegen-mips64.cc (right): https://codereview.chromium.org/1100083002/diff/100001/src/mips64/lithium-codegen-mips64.cc#newcode3345 src/mips64/lithium-codegen-mips64.cc:3345: __ lw(scratch, FieldMemOperand(result, Cell::kValueOffset)); nit: ...
5 years, 8 months ago (2015-04-23 15:34:23 UTC) #11
balazs.kilvady
On 2015/04/23 13:40:00, Jakob wrote: > LGTM with a bunch of comments, mostly nits though. ...
5 years, 8 months ago (2015-04-23 15:34:39 UTC) #12
balazs.kilvady
https://codereview.chromium.org/1100083002/diff/100001/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): https://codereview.chromium.org/1100083002/diff/100001/src/arm/lithium-codegen-arm.cc#newcode3359 src/arm/lithium-codegen-arm.cc:3359: __ LoadRoot(scratch, Heap::kArrayProtectorRootIndex); The result register should be used ...
5 years, 8 months ago (2015-04-23 16:24:37 UTC) #14
mvstanton
Thanks guys, addressed comments. Much appreciated, --Michael https://codereview.chromium.org/1100083002/diff/100001/src/arm/lithium-codegen-arm.cc File src/arm/lithium-codegen-arm.cc (right): https://codereview.chromium.org/1100083002/diff/100001/src/arm/lithium-codegen-arm.cc#newcode3359 src/arm/lithium-codegen-arm.cc:3359: __ LoadRoot(scratch, ...
5 years, 8 months ago (2015-04-27 07:57:13 UTC) #15
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1100083002/140001
5 years, 8 months ago (2015-04-27 08:20:23 UTC) #18
commit-bot: I haz the power
Committed patchset #4 (id:140001)
5 years, 8 months ago (2015-04-27 08:47:04 UTC) #19
commit-bot: I haz the power
5 years, 8 months ago (2015-04-27 08:47:22 UTC) #20
Message was sent while issue was closed.
Patchset 4 (id:??) landed as
https://crrev.com/caeb9004f0bfc2a916fc63e9d27100a3110016d4
Cr-Commit-Position: refs/heads/master@{#28056}

Powered by Google App Engine
This is Rietveld 408576698