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

Issue 2609063002: Further reduce use of Element in codegen. (Closed)

Created:
3 years, 11 months ago by Johnni Winther
Modified:
3 years, 11 months ago
CC:
reviews_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Patch Set 1 #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+193 lines, -135 lines) Patch
M pkg/compiler/lib/src/common/resolution.dart View 2 chunks +2 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/compiler.dart View 1 chunk +12 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/core_types.dart View 1 chunk +9 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/elements/elements.dart View 1 chunk +0 lines, -17 lines 0 comments Download
M pkg/compiler/lib/src/elements/entities.dart View 2 chunks +1 line, -2 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/backend.dart View 6 chunks +7 lines, -7 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/backend_helpers.dart View 7 chunks +10 lines, -10 lines 0 comments Download
M pkg/compiler/lib/src/js_backend/namer.dart View 1 chunk +1 line, -1 line 0 comments Download
M pkg/compiler/lib/src/js_backend/native_data.dart View 2 chunks +11 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/code_emitter_task.dart View 2 chunks +2 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/js_emitter/js_emitter.dart View 1 chunk +1 line, -0 lines 0 comments Download
M pkg/compiler/lib/src/ssa/builder.dart View 2 chunks +2 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/ssa/codegen.dart View 30 chunks +97 lines, -82 lines 0 comments Download
M pkg/compiler/lib/src/ssa/nodes.dart View 1 chunk +0 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/ssa/optimize.dart View 3 chunks +5 lines, -4 lines 0 comments Download
M pkg/compiler/lib/src/types/masks.dart View 1 chunk +8 lines, -0 lines 0 comments Download
M pkg/compiler/lib/src/universe/selector.dart View 2 chunks +2 lines, -1 line 0 comments Download
M pkg/compiler/lib/src/universe/use.dart View 2 chunks +2 lines, -2 lines 0 comments Download
M pkg/compiler/lib/src/universe/world_builder.dart View 4 chunks +20 lines, -0 lines 2 comments Download
M tests/compiler/dart2js/patch_test.dart View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 7 (2 generated)
Johnni Winther
3 years, 11 months ago (2017-01-02 15:30:17 UTC) #2
Johnni Winther
ping
3 years, 11 months ago (2017-01-03 10:03:37 UTC) #3
Siggi Cherem (dart-lang)
lgtm https://codereview.chromium.org/2609063002/diff/1/pkg/compiler/lib/src/universe/world_builder.dart File pkg/compiler/lib/src/universe/world_builder.dart (right): https://codereview.chromium.org/2609063002/diff/1/pkg/compiler/lib/src/universe/world_builder.dart#newcode1109 pkg/compiler/lib/src/universe/world_builder.dart:1109: void forEachInstanceField( I like the move of this ...
3 years, 11 months ago (2017-01-03 17:39:37 UTC) #4
Johnni Winther
Committed patchset #1 (id:1) manually as fad0fe5d86203bd2dd598d37539eba541a1ffa9c (presubmit successful).
3 years, 11 months ago (2017-01-04 10:39:28 UTC) #6
Johnni Winther
3 years, 11 months ago (2017-01-04 10:39:49 UTC) #7
Message was sent while issue was closed.
https://codereview.chromium.org/2609063002/diff/1/pkg/compiler/lib/src/univer...
File pkg/compiler/lib/src/universe/world_builder.dart (right):

https://codereview.chromium.org/2609063002/diff/1/pkg/compiler/lib/src/univer...
pkg/compiler/lib/src/universe/world_builder.dart:1109: void
forEachInstanceField(
> Couple questions:
>  * Does this API include all fields or just fields that are in use (not
> tree-shaken)? I'm guessing it's the former, but either way, it might be good
to
> add a sentence in the dartdoc to be explicit. If we are only including used
> fields, consider renaming this to forEachUsedInstanceField (similar to how all
> the forEachInvoked* methods below).

Currently all, in time it should be at the world builders discretion. We should
at some point in time (again) be able to tree-shake fields (based on resolution
closed world knowledge) and the caller of this function shouldn't know or care.

>  * should we add this API to some other interface too (like
> WorldBuilder/ClosedWorld)? It might be too early to tell, but from a quick
> glance it seems we use element.forEachInstanceField in a few other places
> (constants, creating inference graph, ssa builder). I'm OK crossing that
bridge
> when we get there and not on this CL, up to you.

I expect it to be in WorldBuilder/ClosedWorld and be used elsewhere, but
currently I'm just growing the interfaces slowly by what is needed by the
refactored use cases.

Powered by Google App Engine
This is Rietveld 408576698