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

Issue 2818273002: Remove parent_level field of function type parameters. (Closed)

Created:
3 years, 8 months ago by regis
Modified:
3 years, 8 months ago
Reviewers:
zra, rmacnak, siva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Remove parent_level field of function type parameters. Add function_type_arguments field in closure instances. Lots of other smaller changes, also related to generic function semantics. This is still work in progress, with a change of direction in the design: The type argument vector of a generic function will be prepended with the type arguments of enclosing generic functions. The re-allocation and concatenation will be done in nested generic function's prolog. This will greatly simplify instantiation of types at run time without having to search the context for parent function's type arguments. However, a closure instance now requires an additional field. On the other hand, type parameters do not require a parent_level field anymore. R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/fd5089c9e81f865b1151ae3184421845f5635a86

Patch Set 1 #

Total comments: 6

Patch Set 2 : address comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+400 lines, -276 lines) Patch
M runtime/lib/function.cc View 1 chunk +15 lines, -12 lines 0 comments Download
M runtime/lib/function.dart View 1 chunk +6 lines, -9 lines 0 comments Download
M runtime/lib/mirrors.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M runtime/vm/bootstrap.cc View 1 chunk +5 lines, -3 lines 0 comments Download
M runtime/vm/bootstrap_nocore.cc View 1 chunk +5 lines, -3 lines 0 comments Download
M runtime/vm/class_finalizer.cc View 7 chunks +25 lines, -18 lines 0 comments Download
M runtime/vm/clustered_snapshot.cc View 1 4 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/code_generator.cc View 2 chunks +26 lines, -6 lines 0 comments Download
M runtime/vm/constant_propagator.cc View 1 chunk +1 line, -2 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 7 chunks +58 lines, -16 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 chunk +3 lines, -8 lines 0 comments Download
M runtime/vm/kernel_reader.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/kernel_to_il.cc View 5 chunks +5 lines, -5 lines 0 comments Download
M runtime/vm/object.h View 10 chunks +23 lines, -9 lines 0 comments Download
M runtime/vm/object.cc View 30 chunks +115 lines, -79 lines 0 comments Download
M runtime/vm/object_service.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/object_test.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/parser.h View 5 chunks +17 lines, -9 lines 0 comments Download
M runtime/vm/parser.cc View 12 chunks +37 lines, -73 lines 0 comments Download
M runtime/vm/precompiler.cc View 1 chunk +4 lines, -2 lines 0 comments Download
M runtime/vm/raw_object.h View 3 chunks +5 lines, -4 lines 0 comments Download
M runtime/vm/raw_object_snapshot.cc View 2 chunks +0 lines, -2 lines 0 comments Download
M runtime/vm/simulator_dbc.cc View 2 chunks +12 lines, -2 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 chunk +6 lines, -2 lines 0 comments Download
M runtime/vm/stub_code_arm64.cc View 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 chunk +5 lines, -1 line 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 chunk +5 lines, -1 line 0 comments Download
M runtime/vm/symbols.h View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 6 (2 generated)
regis
3 years, 8 months ago (2017-04-15 00:16:49 UTC) #2
rmacnak
LGTM w/c https://codereview.chromium.org/2818273002/diff/1/runtime/lib/mirrors.cc File runtime/lib/mirrors.cc (right): https://codereview.chromium.org/2818273002/diff/1/runtime/lib/mirrors.cc#newcode1479 runtime/lib/mirrors.cc:1479: // function_type_arguments. Hm, that'll be annoying because ...
3 years, 8 months ago (2017-04-15 01:00:50 UTC) #3
regis
Thanks Ryan! If Siva or Zach have more comments, I'll address them in a later ...
3 years, 8 months ago (2017-04-17 15:49:38 UTC) #4
regis
3 years, 8 months ago (2017-04-17 15:58:34 UTC) #6
Message was sent while issue was closed.
Committed patchset #2 (id:20001) manually as
fd5089c9e81f865b1151ae3184421845f5635a86 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698