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

Issue 1197703002: Use big-boy Types to annotate interface descriptor parameters (Closed)

Created:
5 years, 6 months ago by danno
Modified:
5 years, 5 months ago
CC:
v8-dev
Base URL:
https://chromium.googlesource.com/v8/v8.git@master
Target Ref:
refs/pending/heads/master
Project:
v8
Visibility:
Public.

Description

Use big-boy Types to annotate interface descriptor parameters - Thread Type::FunctionType through stubs and the TF pipeline. - Augment Typer to decorate parameter nodes with types from a Type::FunctionType associated with interface descriptors. - Factor interface descriptors into platform-specific and platform-independent components so that all descriptors share a common Type::FunctionType for all platforms. Committed: https://crrev.com/c019d7f498ce6fbac6659924e20ddb6c59aebeb8 Cr-Commit-Position: refs/heads/master@{#29248}

Patch Set 1 #

Patch Set 2 : Fix 64-bit compilation #

Patch Set 3 : Really fix it this time #

Patch Set 4 : Review feedback #

Total comments: 10

Patch Set 5 : Review feedback #

Patch Set 6 : Latest #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1000 lines, -912 lines) Patch
M src/arm/interface-descriptors-arm.cc View 9 chunks +96 lines, -134 lines 0 comments Download
M src/arm64/interface-descriptors-arm64.cc View 9 chunks +96 lines, -134 lines 0 comments Download
M src/code-stubs.h View 1 2 3 2 chunks +4 lines, -2 lines 0 comments Download
M src/code-stubs.cc View 1 2 3 4 2 chunks +17 lines, -0 lines 0 comments Download
M src/code-stubs-hydrogen.cc View 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler.h View 1 2 3 4 5 3 chunks +8 lines, -0 lines 0 comments Download
M src/compiler.cc View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/linkage-impl.h View 1 chunk +1 line, -1 line 0 comments Download
M src/compiler/pipeline.cc View 1 2 3 4 5 1 chunk +2 lines, -1 line 0 comments Download
M src/compiler/typer.h View 1 2 3 4 5 2 chunks +4 lines, -1 line 0 comments Download
M src/compiler/typer.cc View 1 2 3 4 5 2 chunks +9 lines, -1 line 0 comments Download
M src/hydrogen-instructions.h View 1 chunk +1 line, -1 line 0 comments Download
M src/ia32/interface-descriptors-ia32.cc View 4 chunks +90 lines, -128 lines 0 comments Download
M src/interface-descriptors.h View 1 2 3 17 chunks +104 lines, -54 lines 0 comments Download
M src/interface-descriptors.cc View 1 2 3 4 3 chunks +285 lines, -62 lines 0 comments Download
M src/isolate.h View 2 chunks +2 lines, -0 lines 0 comments Download
M src/mips/interface-descriptors-mips.cc View 5 chunks +90 lines, -128 lines 0 comments Download
M src/mips64/interface-descriptors-mips64.cc View 5 chunks +90 lines, -128 lines 0 comments Download
M src/x64/interface-descriptors-x64.cc View 4 chunks +90 lines, -128 lines 0 comments Download
M test/cctest/compiler/test-changes-lowering.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/compiler/test-js-constant-cache.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/compiler/test-js-typed-lowering.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/compiler/test-machine-operator-reducer.cc View 1 chunk +1 line, -1 line 0 comments Download
M test/cctest/compiler/test-simplified-lowering.cc View 1 2 3 4 5 2 chunks +2 lines, -2 lines 0 comments Download
M test/unittests/compiler/graph-unittest.cc View 1 2 3 4 5 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 20 (9 generated)
danno
Please take a look rossberg: Typer changes michi: everything else
5 years, 6 months ago (2015-06-19 14:07:44 UTC) #4
rossberg
Typing parts look okay, but I wonder if TypeSignature isn't essentially duplicating the existing FunctionType ...
5 years, 6 months ago (2015-06-19 14:20:49 UTC) #6
danno
Let me rework this to use FunctionType, that does seem to make more sense.
5 years, 6 months ago (2015-06-19 15:19:00 UTC) #7
danno
Feedback addressed. Please take another look.
5 years, 6 months ago (2015-06-20 00:34:54 UTC) #10
Benedikt Meurer
https://codereview.chromium.org/1197703002/diff/140001/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/1197703002/diff/140001/src/code-stubs.cc#newcode1050 src/code-stubs.cc:1050: Representation RepresentationFromType(Type* type) { So UntaggedFloat64 and UntaggedFloat32 are ...
5 years, 6 months ago (2015-06-22 05:27:28 UTC) #12
Jarin
Just nits from side. Otherwise, lgtm. https://codereview.chromium.org/1197703002/diff/140001/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/1197703002/diff/140001/src/code-stubs.cc#newcode1050 src/code-stubs.cc:1050: Representation RepresentationFromType(Type* type) ...
5 years, 6 months ago (2015-06-22 06:51:29 UTC) #13
danno
Feedback addressed, landing https://codereview.chromium.org/1197703002/diff/140001/src/code-stubs.cc File src/code-stubs.cc (right): https://codereview.chromium.org/1197703002/diff/140001/src/code-stubs.cc#newcode1050 src/code-stubs.cc:1050: Representation RepresentationFromType(Type* type) { On 2015/06/22 ...
5 years, 6 months ago (2015-06-23 14:39:45 UTC) #14
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1197703002/180001
5 years, 6 months ago (2015-06-24 06:19:46 UTC) #17
commit-bot: I haz the power
Committed patchset #6 (id:180001)
5 years, 6 months ago (2015-06-24 06:21:52 UTC) #18
commit-bot: I haz the power
Patchset 6 (id:??) landed as https://crrev.com/c019d7f498ce6fbac6659924e20ddb6c59aebeb8 Cr-Commit-Position: refs/heads/master@{#29248}
5 years, 6 months ago (2015-06-24 06:22:15 UTC) #19
rossberg
5 years, 5 months ago (2015-06-29 12:29:34 UTC) #20
Message was sent while issue was closed.
https://codereview.chromium.org/1197703002/diff/140001/src/compiler.h
File src/compiler.h (right):

https://codereview.chromium.org/1197703002/diff/140001/src/compiler.h#newcode292
src/compiler.h:292: void SetFunctionType(Type::FunctionType* function_type) {
On 2015/06/23 14:39:44, danno wrote:
> On 2015/06/22 05:27:28, Benedikt Meurer wrote:
> > Nit: I think Type::FunctionType is an implementation detail of the type
system
> > and should not be exposed? Use Type* instead.
> 
> As discussed over chat with you and Jaro, I'm going to leave this as-is for
now.

FunctionType is not an implementation detail -- it is the public interface class
to get to a function type's attributes. Similarly for the other structural
types. The only internal classes are BitsetType, StructuralType, and UnionType
(see the respective comments at the beginning of TypeImpl).

Powered by Google App Engine
This is Rietveld 408576698