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

Issue 1761823002: [compiler] Introduce StringEqualStub and StringNotEqualStub. (Closed)

Created:
4 years, 9 months ago by Benedikt Meurer
Modified:
4 years, 9 months ago
Reviewers:
epertoso
CC:
v8-mips-ports_googlegroups.com, v8-ppc-ports_googlegroups.com, v8-reviews_googlegroups.com, v8-x87-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] Introduce StringEqualStub and StringNotEqualStub. These new stubs perform exactly the same job as the string equality case for the CompareIC, but are platform independent and usable outside of fullcodegen and Crankshaft. We use them in the StrictEqualStub and the StrictNotEqualStub instead of falling back to the runtime immediately for String comparisons, and we also use them in TurboFan to perform String equality or inequality comparisons. These stubs currently handle only internalized and one byte strings w/o going to C++, but it should be easy to add support for more string cases later, i.e. utilizing already flattened cons strings or comparing two byte strings as well. Committed: https://crrev.com/2689548e38c68bb6294fed5e2d83feec67e3a1f4 Cr-Commit-Position: refs/heads/master@{#34459}

Patch Set 1 #

Total comments: 4

Patch Set 2 : Address feedback. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+328 lines, -51 lines) Patch
M src/code-factory.h View 1 chunk +2 lines, -0 lines 0 comments Download
M src/code-factory.cc View 1 chunk +11 lines, -0 lines 0 comments Download
M src/code-stubs.h View 2 chunks +22 lines, -0 lines 0 comments Download
M src/code-stubs.cc View 1 5 chunks +201 lines, -15 lines 0 comments Download
M src/compiler/code-stub-assembler.h View 2 chunks +4 lines, -0 lines 0 comments Download
M src/compiler/code-stub-assembler.cc View 1 chunk +8 lines, -0 lines 0 comments Download
M src/compiler/simplified-lowering.h View 1 chunk +0 lines, -1 line 0 comments Download
M src/compiler/simplified-lowering.cc View 3 chunks +18 lines, -12 lines 0 comments Download
M src/crankshaft/arm/lithium-codegen-arm.cc View 1 chunk +9 lines, -3 lines 0 comments Download
M src/crankshaft/arm64/lithium-codegen-arm64.cc View 1 chunk +11 lines, -3 lines 0 comments Download
M src/crankshaft/ia32/lithium-codegen-ia32.cc View 1 chunk +9 lines, -3 lines 0 comments Download
M src/crankshaft/mips/lithium-codegen-mips.cc View 1 chunk +12 lines, -4 lines 0 comments Download
M src/crankshaft/mips64/lithium-codegen-mips64.cc View 1 chunk +12 lines, -4 lines 0 comments Download
M src/crankshaft/x64/lithium-codegen-x64.cc View 1 chunk +9 lines, -3 lines 0 comments Download
M test/cctest/compiler/test-simplified-lowering.cc View 1 chunk +0 lines, -3 lines 0 comments Download

Messages

Total messages: 14 (6 generated)
Benedikt Meurer
Hey Enrico, Moving more parts to TurboFan code stubs. Please take a look. Thanks, Benedikt
4 years, 9 months ago (2016-03-03 09:19:58 UTC) #2
epertoso
lgtm https://codereview.chromium.org/1761823002/diff/1/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/1761823002/diff/1/src/code-stubs.cc#newcode711 src/code-stubs.cc:711: Callable callable = (mode == kDontNegateResult) Does the ...
4 years, 9 months ago (2016-03-03 09:41:45 UTC) #3
Benedikt Meurer
https://codereview.chromium.org/1761823002/diff/1/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/1761823002/diff/1/src/code-stubs.cc#newcode711 src/code-stubs.cc:711: Callable callable = (mode == kDontNegateResult) On 2016/03/03 09:41:45, ...
4 years, 9 months ago (2016-03-03 09:45:08 UTC) #4
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1761823002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1761823002/20001
4 years, 9 months ago (2016-03-03 09:45:19 UTC) #7
commit-bot: I haz the power
Try jobs failed on following builders: v8_linux_arm_rel on tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel/builds/14687)
4 years, 9 months ago (2016-03-03 09:49:35 UTC) #9
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1761823002/20001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1761823002/20001
4 years, 9 months ago (2016-03-03 09:51:34 UTC) #11
commit-bot: I haz the power
Committed patchset #2 (id:20001)
4 years, 9 months ago (2016-03-03 10:10:38 UTC) #12
commit-bot: I haz the power
4 years, 9 months ago (2016-03-03 10:18:57 UTC) #14
Message was sent while issue was closed.
Patchset 2 (id:??) landed as
https://crrev.com/2689548e38c68bb6294fed5e2d83feec67e3a1f4
Cr-Commit-Position: refs/heads/master@{#34459}

Powered by Google App Engine
This is Rietveld 408576698