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

Issue 1722193002: [compiler] Drop the CompareNilIC. (Closed)

Created:
4 years, 10 months ago by Benedikt Meurer
Modified:
4 years, 9 months ago
CC:
v8-reviews_googlegroups.com, v8-mips-ports_googlegroups.com, v8-x87-ports_googlegroups.com, v8-ppc-ports_googlegroups.com
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

[compiler] Drop the CompareNilIC. Since both null and undefined are also marked as undetectable now, we can just test that bit instead of having the CompareNilIC try to collect feedback to speed up the general case (without the undetectable bit being used). Drive-by-fix: Update the type system to match the new handling of undetectable in the runtime. R=danno@chromium.org Committed: https://crrev.com/666aec0348c8793e61c8633dee7ad29a514239ba Cr-Commit-Position: refs/heads/master@{#34237} Committed: https://crrev.com/fb59ea3334bef0f4d2a1dd4b579bf5eec3bc1f35 Cr-Commit-Position: refs/heads/master@{#34344}

Patch Set 1 #

Total comments: 4

Patch Set 2 : REBASE #

Patch Set 3 : Only JS_OBJECT_TYPE, JS_GLOBAL_OBJECT_TYPE and JS_GLOBAL_PROXY_TYPE can be undetectable #

Total comments: 4

Patch Set 4 : Fix #

Total comments: 2

Patch Set 5 : REBASE #

Unified diffs Side-by-side diffs Delta from patch set Stats (+142 lines, -506 lines) Patch
M src/arm/interface-descriptors-arm.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 1 chunk +0 lines, -8 lines 0 comments Download
M src/code-factory.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/code-stubs.h View 2 chunks +0 lines, -91 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 4 chunks +0 lines, -79 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 chunk +0 lines, -25 lines 0 comments Download
M src/compiler/change-lowering.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/change-lowering.cc View 3 chunks +34 lines, -0 lines 0 comments Download
M src/compiler/js-typed-lowering.cc View 1 chunk +5 lines, -9 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 1 chunk +4 lines, -11 lines 0 comments Download
M src/compiler/simplified-operator.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/compiler/simplified-operator.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M src/compiler/typer.cc View 1 2 3 4 6 chunks +19 lines, -6 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M src/crankshaft/hydrogen.h View 1 2 3 4 1 chunk +0 lines, -5 lines 0 comments Download
M src/crankshaft/hydrogen.cc View 1 2 3 4 2 chunks +4 lines, -61 lines 0 comments Download
M src/crankshaft/hydrogen-instructions.cc View 1 2 3 4 1 chunk +11 lines, -0 lines 0 comments Download
M src/crankshaft/hydrogen-types.cc View 1 2 2 chunks +8 lines, -3 lines 0 comments Download
M src/full-codegen/arm/full-codegen-arm.cc View 1 2 3 4 1 chunk +5 lines, -4 lines 0 comments Download
M src/full-codegen/arm64/full-codegen-arm64.cc View 1 2 3 4 1 chunk +5 lines, -4 lines 0 comments Download
M src/full-codegen/ia32/full-codegen-ia32.cc View 1 2 3 4 1 chunk +5 lines, -4 lines 0 comments Download
M src/full-codegen/mips/full-codegen-mips.cc View 1 2 3 4 1 chunk +6 lines, -6 lines 0 comments Download
M src/full-codegen/mips64/full-codegen-mips64.cc View 1 2 3 4 1 chunk +6 lines, -6 lines 0 comments Download
M src/full-codegen/x64/full-codegen-x64.cc View 1 2 3 4 1 chunk +5 lines, -4 lines 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/ic/ic.h View 1 chunk +0 lines, -12 lines 0 comments Download
M src/ic/ic.cc View 2 chunks +0 lines, -53 lines 0 comments Download
M src/ic/ic-compiler.h View 1 chunk +0 lines, -4 lines 0 comments Download
M src/ic/ic-compiler.cc View 1 2 3 4 1 chunk +0 lines, -23 lines 0 comments Download
M src/interface-descriptors.h View 2 chunks +0 lines, -7 lines 0 comments Download
M src/log.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M src/mips/interface-descriptors-mips.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M src/objects.h View 1 2 3 4 2 chunks +0 lines, -2 lines 0 comments Download
M src/objects-inl.h View 1 2 3 4 3 chunks +2 lines, -4 lines 0 comments Download
M src/runtime/runtime.h View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M src/type-info.cc View 2 chunks +0 lines, -5 lines 0 comments Download
M src/types.h View 3 chunks +5 lines, -5 lines 0 comments Download
M src/types.cc View 1 2 2 chunks +9 lines, -17 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 1 chunk +0 lines, -7 lines 0 comments Download
M test/cctest/test-types.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 30 (12 generated)
Benedikt Meurer
4 years, 10 months ago (2016-02-23 13:54:19 UTC) #1
Benedikt Meurer
Hey Danno, Dropping your baby now that we have the "undetectable" bit on undefined and ...
4 years, 10 months ago (2016-02-23 13:55:07 UTC) #2
Toon Verwaest
DBCs inline Nice! https://codereview.chromium.org/1722193002/diff/1/src/crankshaft/hydrogen-types.cc File src/crankshaft/hydrogen-types.cc (right): https://codereview.chromium.org/1722193002/diff/1/src/crankshaft/hydrogen-types.cc#newcode46 src/crankshaft/hydrogen-types.cc:46: if (value->IsJSArray() && !value->IsUndetectableObject()) { JSArrays ...
4 years, 10 months ago (2016-02-23 20:03:19 UTC) #4
Benedikt Meurer
https://codereview.chromium.org/1722193002/diff/1/src/crankshaft/hydrogen-types.cc File src/crankshaft/hydrogen-types.cc (right): https://codereview.chromium.org/1722193002/diff/1/src/crankshaft/hydrogen-types.cc#newcode46 src/crankshaft/hydrogen-types.cc:46: if (value->IsJSArray() && !value->IsUndetectableObject()) { On 2016/02/23 20:03:19, Toon ...
4 years, 10 months ago (2016-02-24 05:39:19 UTC) #5
danno
almost, but see my comment. https://codereview.chromium.org/1722193002/diff/40001/src/crankshaft/hydrogen-instructions.h File src/crankshaft/hydrogen-instructions.h (right): https://codereview.chromium.org/1722193002/diff/40001/src/crankshaft/hydrogen-instructions.h#newcode4447 src/crankshaft/hydrogen-instructions.h:4447: int known_successor_index_; Maybe I'm ...
4 years, 10 months ago (2016-02-24 08:25:40 UTC) #6
Benedikt Meurer
https://codereview.chromium.org/1722193002/diff/40001/src/crankshaft/hydrogen-instructions.h File src/crankshaft/hydrogen-instructions.h (right): https://codereview.chromium.org/1722193002/diff/40001/src/crankshaft/hydrogen-instructions.h#newcode4447 src/crankshaft/hydrogen-instructions.h:4447: int known_successor_index_; Right, I tried to add support for ...
4 years, 10 months ago (2016-02-24 08:41:18 UTC) #7
danno
lgtm
4 years, 10 months ago (2016-02-24 09:02:47 UTC) #8
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1722193002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1722193002/60001
4 years, 10 months ago (2016-02-24 09:06:00 UTC) #10
commit-bot: I haz the power
Committed patchset #4 (id:60001)
4 years, 10 months ago (2016-02-24 09:09:39 UTC) #11
commit-bot: I haz the power
Patchset 4 (id:??) landed as https://crrev.com/666aec0348c8793e61c8633dee7ad29a514239ba Cr-Commit-Position: refs/heads/master@{#34237}
4 years, 10 months ago (2016-02-24 09:10:21 UTC) #13
adamk
A revert of this CL (patchset #4 id:60001) has been created in https://codereview.chromium.org/1743433002/ by adamk@chromium.org. ...
4 years, 9 months ago (2016-02-25 23:08:24 UTC) #14
mvstanton
https://codereview.chromium.org/1722193002/diff/60001/src/full-codegen/x64/full-codegen-x64.cc File src/full-codegen/x64/full-codegen-x64.cc (right): https://codereview.chromium.org/1722193002/diff/60001/src/full-codegen/x64/full-codegen-x64.cc#newcode3925 src/full-codegen/x64/full-codegen-x64.cc:3925: Immediate(1 << Map::kIsUndetectable)); Adam and I were speculating that ...
4 years, 9 months ago (2016-02-25 23:08:57 UTC) #16
adamk
https://codereview.chromium.org/1722193002/diff/60001/src/full-codegen/x64/full-codegen-x64.cc File src/full-codegen/x64/full-codegen-x64.cc (right): https://codereview.chromium.org/1722193002/diff/60001/src/full-codegen/x64/full-codegen-x64.cc#newcode3925 src/full-codegen/x64/full-codegen-x64.cc:3925: Immediate(1 << Map::kIsUndetectable)); On 2016/02/25 23:08:57, mvstanton wrote: > ...
4 years, 9 months ago (2016-02-25 23:38:38 UTC) #18
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1722193002/60001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1722193002/60001
4 years, 9 months ago (2016-02-27 18:35:15 UTC) #21
commit-bot: I haz the power
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/10763) v8_linux64_rel_ng on tryserver.v8 (JOB_FAILED, ...
4 years, 9 months ago (2016-02-27 18:36:44 UTC) #23
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1722193002/80001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1722193002/80001
4 years, 9 months ago (2016-02-27 18:52:10 UTC) #26
commit-bot: I haz the power
Committed patchset #5 (id:80001)
4 years, 9 months ago (2016-02-27 19:13:29 UTC) #28
commit-bot: I haz the power
4 years, 9 months ago (2016-02-27 19:13:59 UTC) #30
Message was sent while issue was closed.
Patchset 5 (id:??) landed as
https://crrev.com/fb59ea3334bef0f4d2a1dd4b579bf5eec3bc1f35
Cr-Commit-Position: refs/heads/master@{#34344}

Powered by Google App Engine
This is Rietveld 408576698