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

Issue 1450663002: Intrinsify _StringBase._substringMatches to speedup indexOf/startsWith/endsWith under precompilatio… (Closed)

Created:
5 years, 1 month ago by rmacnak
Modified:
5 years, 1 month ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Intrinsify _StringBase._substringMatches to speedup indexOf/startsWith/endsWith under precompilation. Fix some Smi checks in other intrinsics on MIPS. Raspberry Pi 2 Before JIT StarryStrings(RunTime): 1851875.5 us. noopt StarryStrings(RunTime): 23655235.0 us. After JIT StarryStrings(RunTime): 1829766.5 us. noopt StarryStrings(RunTime): 8660442.0 us. (2.7x) R=fschneider@google.com Committed: https://github.com/dart-lang/sdk/commit/df72a27f23aa793ce4c27dca5dbec0dca2a2179d

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 19

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+465 lines, -3 lines) Patch
M runtime/vm/intrinsifier_arm.cc View 1 2 3 4 5 1 chunk +121 lines, -0 lines 0 comments Download
M runtime/vm/intrinsifier_arm64.cc View 1 2 3 4 5 1 chunk +113 lines, -0 lines 0 comments Download
M runtime/vm/intrinsifier_ia32.cc View 1 2 3 4 5 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/intrinsifier_mips.cc View 1 2 3 4 5 4 chunks +115 lines, -3 lines 0 comments Download
M runtime/vm/intrinsifier_x64.cc View 1 2 3 4 5 1 chunk +109 lines, -0 lines 0 comments Download
M runtime/vm/method_recognizer.h View 1 chunk +1 line, -0 lines 0 comments Download

Messages

Total messages: 8 (2 generated)
rmacnak
5 years, 1 month ago (2015-11-17 22:02:00 UTC) #2
Florian Schneider
LGTM. Please make sure that tests cover all variants (1- and 2-byte strings). https://codereview.chromium.org/1450663002/diff/80001/runtime/vm/intrinsifier_arm.cc File ...
5 years, 1 month ago (2015-11-18 10:26:03 UTC) #3
srdjan
DBC https://codereview.chromium.org/1450663002/diff/80001/runtime/vm/intrinsifier_arm.cc File runtime/vm/intrinsifier_arm.cc (right): https://codereview.chromium.org/1450663002/diff/80001/runtime/vm/intrinsifier_arm.cc#newcode1671 runtime/vm/intrinsifier_arm.cc:1671: // Clobbers ARGS_DESCRIPTOR_REG. Safe because this method has ...
5 years, 1 month ago (2015-11-18 17:52:54 UTC) #5
srdjan
One more comment: https://codereview.chromium.org/1450663002/diff/80001/runtime/vm/intrinsifier_ia32.cc File runtime/vm/intrinsifier_ia32.cc (right): https://codereview.chromium.org/1450663002/diff/80001/runtime/vm/intrinsifier_ia32.cc#newcode1746 runtime/vm/intrinsifier_ia32.cc:1746: // For precompilation / not enough ...
5 years, 1 month ago (2015-11-18 17:57:12 UTC) #6
rmacnak
Uri parsing tests (and StarryStrings) include the 2 byte receiver case. https://chromiumcodereview.appspot.com/1450663002/diff/80001/runtime/vm/intrinsifier_arm.cc File runtime/vm/intrinsifier_arm.cc (right): ...
5 years, 1 month ago (2015-11-18 22:33:32 UTC) #7
rmacnak
5 years, 1 month ago (2015-11-18 22:38:43 UTC) #8
Message was sent while issue was closed.
Committed patchset #6 (id:100001) manually as
df72a27f23aa793ce4c27dca5dbec0dca2a2179d (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698