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

Issue 612043003: Add inlining for intrinsics. (Closed)

Created:
6 years, 2 months ago by sigurds
Modified:
6 years, 2 months ago
Reviewers:
Michael Starzinger
CC:
v8-dev
Project:
v8
Visibility:
Public.

Description

Add inlining for intrinsics. This issue is for discussion on how to proceed. I think the implementation of ValueOf shows that directly creating the IR does not scale. BUG= R=mstarzinger@chromium.org Committed: https://code.google.com/p/v8/source/detail?r=24719

Patch Set 1 #

Patch Set 2 : Rebase and fixes. #

Patch Set 3 : Rebase again. #

Patch Set 4 : Fix windows conversion warning. #

Total comments: 6

Patch Set 5 : Comments. #

Total comments: 6

Patch Set 6 : More comments. #

Patch Set 7 : Rebase #

Patch Set 8 : Fix bug. #

Total comments: 2

Patch Set 9 : Rename and repurpose. #

Patch Set 10 : Move decls. #

Unified diffs Side-by-side diffs Delta from patch set Stats (+528 lines, -39 lines) Patch
M BUILD.gn View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download
M src/compiler/access-builder.h View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/access-builder.cc View 1 1 chunk +14 lines, -0 lines 0 comments Download
M src/compiler/graph.h View 1 2 3 4 5 6 1 chunk +5 lines, -0 lines 0 comments Download
M src/compiler/js-inlining.h View 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/js-inlining.cc View 1 2 3 4 5 6 6 chunks +76 lines, -17 lines 0 comments Download
A src/compiler/js-intrinsic-builder.h View 1 2 3 4 1 chunk +40 lines, -0 lines 0 comments Download
A src/compiler/js-intrinsic-builder.cc View 1 2 3 4 5 6 7 8 1 chunk +158 lines, -0 lines 0 comments Download
M src/compiler/linkage.cc View 1 1 chunk +6 lines, -0 lines 0 comments Download
M src/compiler/opcodes.h View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/simplified-lowering.cc View 1 2 3 4 5 6 7 8 1 chunk +33 lines, -0 lines 0 comments Download
M src/compiler/simplified-operator.h View 1 2 3 4 5 6 7 8 9 1 chunk +3 lines, -0 lines 0 comments Download
M src/compiler/simplified-operator.cc View 1 2 3 4 5 6 7 8 1 chunk +3 lines, -1 line 0 comments Download
M src/compiler/typer.cc View 1 2 3 4 5 6 7 8 1 chunk +10 lines, -0 lines 0 comments Download
M src/compiler/verifier.cc View 1 2 3 4 5 6 7 8 1 chunk +8 lines, -0 lines 0 comments Download
M src/flag-definitions.h View 1 2 3 4 1 chunk +3 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-inlining.cc View 1 chunk +97 lines, -0 lines 0 comments Download
M test/cctest/compiler/test-run-intrinsics.cc View 1 2 3 4 5 6 7 8 18 chunks +57 lines, -19 lines 0 comments Download
M tools/gyp/v8.gyp View 1 2 3 4 5 6 7 1 chunk +2 lines, -0 lines 0 comments Download

Messages

Total messages: 9 (0 generated)
sigurds
PTAL, but I'm looking for comments; I think this CL needs some time before it ...
6 years, 2 months ago (2014-09-29 12:06:37 UTC) #1
sigurds
6 years, 2 months ago (2014-10-13 14:42:26 UTC) #2
Michael Starzinger
https://codereview.chromium.org/612043003/diff/80002/src/compiler/js-inlining.cc File src/compiler/js-inlining.cc (right): https://codereview.chromium.org/612043003/diff/80002/src/compiler/js-inlining.cc#newcode485 src/compiler/js-inlining.cc:485: f->function_id != Runtime::kInlineValueOf) { This only white-lists %_ValueOf to ...
6 years, 2 months ago (2014-10-15 08:45:00 UTC) #3
sigurds
Adressed your comments. https://codereview.chromium.org/612043003/diff/80002/src/compiler/js-inlining.cc File src/compiler/js-inlining.cc (right): https://codereview.chromium.org/612043003/diff/80002/src/compiler/js-inlining.cc#newcode485 src/compiler/js-inlining.cc:485: f->function_id != Runtime::kInlineValueOf) { On 2014/10/15 ...
6 years, 2 months ago (2014-10-15 12:39:35 UTC) #4
Michael Starzinger
Looking good, just a couple of comments about the simplified lowering. https://codereview.chromium.org/612043003/diff/270001/src/compiler/simplified-lowering.cc File src/compiler/simplified-lowering.cc (right): ...
6 years, 2 months ago (2014-10-15 13:03:18 UTC) #5
sigurds
Adressed your comments. Will run bots once we have a good revision again. https://codereview.chromium.org/612043003/diff/270001/src/compiler/simplified-lowering.cc File ...
6 years, 2 months ago (2014-10-15 14:59:59 UTC) #6
Michael Starzinger
LGTM (with one last comment). https://codereview.chromium.org/612043003/diff/330001/src/compiler/simplified-operator.h File src/compiler/simplified-operator.h (right): https://codereview.chromium.org/612043003/diff/330001/src/compiler/simplified-operator.h#newcode158 src/compiler/simplified-operator.h:158: const Operator* IsSmi(); nit: ...
6 years, 2 months ago (2014-10-17 09:58:51 UTC) #7
sigurds
Committed patchset #10 (id:370001) manually as 24719 (presubmit successful).
6 years, 2 months ago (2014-10-20 07:57:14 UTC) #8
sigurds
6 years, 2 months ago (2014-10-21 14:42:25 UTC) #9
Message was sent while issue was closed.
https://codereview.chromium.org/612043003/diff/330001/src/compiler/simplified...
File src/compiler/simplified-operator.h (right):

https://codereview.chromium.org/612043003/diff/330001/src/compiler/simplified...
src/compiler/simplified-operator.h:158: const Operator* IsSmi();
On 2014/10/17 09:58:51, Michael Starzinger wrote:
> nit: Benedikt suggested to call these operators "ObjectIsSmi" and
> "ObjectIsNonNegativeSmi" instead. I agree, this makes it clear what the input
> type is. Also we should move them up a few lines to the other pure operators
> (i.e. to line 139).

Done.

Powered by Google App Engine
This is Rietveld 408576698