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

Issue 10996065: Improves performance for calls from Crankshaft code to certain string and... (Closed)

Created:
8 years, 2 months ago by rkrithiv
Modified:
4 years, 1 month ago
Reviewers:
Yang, danno
CC:
v8-dev
Visibility:
Public.

Description

Improves performance for calls from Crankshaft code to certain string and regexp JS functions (exec, replace, split, match) when the return value is unused. New versions of these functions are introduced which execute the regexp, reproducing all side effects, but do not create the result. Calls to the original functions with no uses are replaced with calls to the simplified versions. BUG=none TEST=none

Patch Set 1 #

Unified diffs Side-by-side diffs Delta from patch set Stats (+187 lines, -1 line) Patch
M AUTHORS View 1 chunk +1 line, -0 lines 0 comments Download
M src/flag-definitions.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.h View 1 chunk +1 line, -0 lines 0 comments Download
M src/hydrogen.cc View 2 chunks +67 lines, -1 line 0 comments Download
M src/regexp.js View 1 chunk +41 lines, -0 lines 0 comments Download
M src/string.js View 3 chunks +76 lines, -0 lines 0 comments Download

Messages

Total messages: 3 (0 generated)
danno
lgtm Yang, can you please take a look?
8 years, 2 months ago (2012-10-12 15:49:47 UTC) #1
danno
Whoops, hit the wrong button. This doesn't look good to me on this patch quite ...
8 years, 2 months ago (2012-10-12 15:51:15 UTC) #2
Yang
8 years, 2 months ago (2012-10-22 09:28:16 UTC) #3
On 2012/10/12 15:51:15, danno wrote:
> Whoops, hit the wrong button. This doesn't look good to me on this patch quite
> yet,

A quick test shows that this patch causes the V8 benchmark bundled in the V8
repository (benchmark/run.js) to crash with segfaults (RayTrace and RegExp).

This patch seems to attempt to improve V8's performance for string and regexp
operations when the result is not used. I expect this to be very rare in actual
javascript applications (why would you run an expensive string/regexp operation
when you don't use its result?).
However, V8's RegExp benchmark contains a lot of those operations with unused
results. This has been a known fact and there are plans (see 10913269) to change
that so that this benchmark tests what it's intended to test
(https://chromiumcodereview.appspot.com/10913269/). That's why I think this
patch is taking the wrong direction.

Powered by Google App Engine
This is Rietveld 408576698