Chromium Code Reviews
Help | Chromium Project | Gerrit Changes | Sign in
(69)

Issue 1683643002: Mark null and undefined as undetectable, and use it to handle abstract equality comparison in the g… (Closed)

Created:
4 years, 9 months ago by Toon Verwaest
Modified:
4 years, 9 months ago
Reviewers:
Benedikt Meurer, v8-mips-ports, ulan, v8-ppc-ports
CC:
v8-reviews_googlegroups.com, Hannes Payer (out of office), ulan
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Mark null and undefined as undetectable, and use it to handle abstract equality comparison in the generic compare ic Marking as undetectable makes abstract equality of null, undefined, and other undetectable objects easier. Supporting it in the generic compare IC significantly speeds up dynamic comparison between those values and JSReceivers by not falling back to the runtime. MIPS port contributed by Balazs Kilvady <balazs.kilvady@imgtec.com>; Committed: https://crrev.com/3ce9e808c5b9a6149ac987213854b5d59005f366 Cr-Commit-Position: refs/heads/master@{#33858}

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : arm #

Patch Set 4 : #

Patch Set 5 : arm64 #

Patch Set 6 : Fix typeof null == "undefined" #

Patch Set 7 : Update DCHECK #

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+228 lines, -171 lines) Patch
M src/arm/code-stubs-arm.cc View 1 2 1 chunk +28 lines, -20 lines 0 comments Download
M src/arm64/code-stubs-arm64.cc View 1 2 3 4 1 chunk +26 lines, -31 lines 0 comments Download
M src/crankshaft/arm/lithium-codegen-arm.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/arm64/lithium-codegen-arm64.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M src/crankshaft/ia32/lithium-codegen-ia32.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/mips/lithium-codegen-mips.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/mips64/lithium-codegen-mips64.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/x64/lithium-codegen-x64.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/crankshaft/x87/lithium-codegen-x87.cc View 1 2 3 4 5 1 chunk +2 lines, -2 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 5 6 2 chunks +3 lines, -3 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 5 6 2 chunks +2 lines, -2 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 5 6 2 chunks +3 lines, -3 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 5 6 2 chunks +3 lines, -3 lines 0 comments Download
M src/full-codegen/x87/full-codegen-x87.cc View 1 2 3 4 5 6 2 chunks +3 lines, -3 lines 0 comments Download
M src/heap/heap.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M src/ia32/code-stubs-ia32.cc View 1 2 2 chunks +21 lines, -15 lines 0 comments Download
M src/mips/code-stubs-mips.cc View 1 2 3 4 5 6 7 1 chunk +31 lines, -21 lines 0 comments Download
M src/mips/macro-assembler-mips.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M src/mips64/code-stubs-mips64.cc View 1 2 3 4 5 6 7 1 chunk +31 lines, -21 lines 0 comments Download
M src/mips64/macro-assembler-mips64.h View 1 2 3 4 5 6 7 1 chunk +5 lines, -0 lines 0 comments Download
M src/objects.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M src/runtime/runtime-interpreter.cc View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M src/x64/code-stubs-x64.cc View 1 2 3 2 chunks +20 lines, -12 lines 0 comments Download
M src/x87/code-stubs-x87.cc View 1 2 3 2 chunks +21 lines, -15 lines 0 comments Download
M test/mjsunit/typeof.js View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 25 (11 generated)
Toon Verwaest
ptal. This speeds up the minified Richards test provided by Stephen Adams by ~20%, greatly ...
4 years, 9 months ago (2016-02-09 09:26:28 UTC) #1
Benedikt Meurer
Nice, thanks for doing this. LGTM.
4 years, 9 months ago (2016-02-09 10:25:17 UTC) #2
Toon Verwaest
MIPS-ports, could you please port to MIPS?
4 years, 9 months ago (2016-02-09 10:42:10 UTC) #4
Toon Verwaest
ulan: ptal at heap.cc
4 years, 9 months ago (2016-02-09 10:47:07 UTC) #6
ulan
heap lgtm
4 years, 9 months ago (2016-02-09 10:48:08 UTC) #7
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1683643002/100001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1683643002/100001
4 years, 9 months ago (2016-02-09 11:54:49 UTC) #9
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: v8_linux64_avx2_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_avx2_rel/builds/9829)
4 years, 9 months ago (2016-02-09 12:11:55 UTC) #11
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1683643002/120001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1683643002/120001
4 years, 9 months ago (2016-02-09 12:24:42 UTC) #13
commit-bot: I haz the power
Dry run: This issue passed the CQ dry run.
4 years, 9 months ago (2016-02-09 12:48:22 UTC) #15
balazs.kilvady
On 2016/02/09 10:42:10, Toon Verwaest wrote: > MIPS-ports, could you please port to MIPS? Please ...
4 years, 9 months ago (2016-02-09 19:58:46 UTC) #16
Toon Verwaest
Thanks, I integrated them.
4 years, 9 months ago (2016-02-10 09:26:30 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1683643002/140001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1683643002/140001
4 years, 9 months ago (2016-02-10 09:26:43 UTC) #21
commit-bot: I haz the power
Committed patchset #8 (id:140001)
4 years, 9 months ago (2016-02-10 09:55:55 UTC) #23
commit-bot: I haz the power
4 years, 9 months ago (2016-02-10 09:56:38 UTC) #25
Message was sent while issue was closed.
Patchset 8 (id:??) landed as
https://crrev.com/3ce9e808c5b9a6149ac987213854b5d59005f366
Cr-Commit-Position: refs/heads/master@{#33858}

Powered by Google App Engine
This is Rietveld 408576698