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

Issue 154393003: Implement eager instantiation and canonicalization of type arguments at run (Closed)

Created:
6 years, 10 months ago by regis
Modified:
6 years, 10 months ago
Reviewers:
srdjan, Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Implement eager instantiation and canonicalization of type arguments at run time using a cache in uninstantiated type arguments. Remove InstantiatedTypeArguments class. Fix a bug in optimized code: do not update unused type test cache for Smi. Fix a bug in optimized code on ARM and MIPS in type test cache lookup. R=iposva@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=32447

Patch Set 1 #

Patch Set 2 : #

Total comments: 8

Patch Set 3 : #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+776 lines, -1472 lines) Patch
M runtime/lib/array.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/lib/double.cc View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M runtime/lib/growable_array.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/lib/isolate.cc View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M runtime/lib/mirrors.cc View 1 2 4 chunks +5 lines, -6 lines 0 comments Download
M runtime/lib/object.cc View 1 2 2 chunks +4 lines, -4 lines 0 comments Download
M runtime/lib/regexp.cc View 1 2 1 chunk +1 line, -2 lines 0 comments Download
M runtime/lib/simd128.cc View 1 2 7 chunks +9 lines, -18 lines 0 comments Download
M runtime/vm/ast.h View 1 2 4 chunks +5 lines, -5 lines 0 comments Download
M runtime/vm/class_finalizer.h View 1 2 2 chunks +4 lines, -4 lines 0 comments Download
M runtime/vm/class_finalizer.cc View 1 2 21 chunks +28 lines, -34 lines 0 comments Download
M runtime/vm/code_generator.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/code_generator.cc View 1 2 16 chunks +68 lines, -156 lines 1 comment Download
M runtime/vm/dart_api_impl.cc View 1 2 4 chunks +6 lines, -5 lines 1 comment Download
M runtime/vm/debugger_api_impl.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 1 2 3 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 5 chunks +15 lines, -40 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 1 2 3 chunks +5 lines, -12 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 2 3 chunks +5 lines, -12 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 1 2 3 chunks +5 lines, -12 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 2 3 chunks +4 lines, -10 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 2 2 chunks +2 lines, -8 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 2 1 chunk +0 lines, -10 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 9 chunks +7 lines, -36 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 1 2 5 chunks +5 lines, -27 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 5 chunks +5 lines, -27 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 1 2 5 chunks +5 lines, -27 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 1 2 5 chunks +5 lines, -27 lines 0 comments Download
M runtime/vm/intrinsifier_arm.cc View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/intrinsifier_ia32.cc View 1 2 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/intrinsifier_mips.cc View 1 2 1 chunk +0 lines, -4 lines 0 comments Download
M runtime/vm/object.h View 1 2 34 chunks +124 lines, -224 lines 0 comments Download
M runtime/vm/object.cc View 1 2 69 chunks +157 lines, -311 lines 0 comments Download
M runtime/vm/object_test.cc View 1 2 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/parser.h View 1 2 5 chunks +11 lines, -13 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 26 chunks +34 lines, -33 lines 0 comments Download
M runtime/vm/raw_object.h View 1 2 6 chunks +11 lines, -30 lines 0 comments Download
M runtime/vm/raw_object.cc View 1 2 2 chunks +0 lines, -15 lines 0 comments Download
M runtime/vm/raw_object_snapshot.cc View 1 2 3 chunks +2 lines, -70 lines 0 comments Download
M runtime/vm/snapshot.h View 1 2 7 chunks +4 lines, -6 lines 0 comments Download
M runtime/vm/snapshot.cc View 1 2 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/snapshot_test.cc View 1 2 2 chunks +0 lines, -2 lines 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 2 5 chunks +49 lines, -53 lines 0 comments Download
M runtime/vm/stub_code_ia32.cc View 1 2 5 chunks +59 lines, -71 lines 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 2 4 chunks +52 lines, -56 lines 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 2 6 chunks +64 lines, -76 lines 0 comments Download
M runtime/vm/symbols.h View 1 2 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 8 (0 generated)
regis
This is too early to review, since I want to remove InstantiatedTypeArguments completely, as well ...
6 years, 10 months ago (2014-02-04 23:55:25 UTC) #1
regis
On 2014/02/04 23:55:25, regis wrote: > This is too early to review, since I want ...
6 years, 10 months ago (2014-02-06 22:33:12 UTC) #2
regis
On 2014/02/06 22:33:12, regis wrote: > On 2014/02/04 23:55:25, regis wrote: > > This is ...
6 years, 10 months ago (2014-02-06 23:17:01 UTC) #3
srdjan
LGTM nice cleanup, nice speedup. https://codereview.chromium.org/154393003/diff/130001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/154393003/diff/130001/runtime/vm/object.cc#newcode4229 runtime/vm/object.cc:4229: length = (length == ...
6 years, 10 months ago (2014-02-07 17:32:16 UTC) #4
Ivan Posva
LGTMwC -Ivan https://codereview.chromium.org/154393003/diff/130001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/154393003/diff/130001/runtime/vm/object.cc#newcode4224 runtime/vm/object.cc:4224: } Please add a comment explaining that ...
6 years, 10 months ago (2014-02-07 18:48:43 UTC) #5
regis
Thanks! https://codereview.chromium.org/154393003/diff/130001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/154393003/diff/130001/runtime/vm/object.cc#newcode4224 runtime/vm/object.cc:4224: } On 2014/02/07 18:48:43, Ivan Posva wrote: > ...
6 years, 10 months ago (2014-02-07 19:41:58 UTC) #6
regis
Committed patchset #3 manually as r32447 (presubmit successful).
6 years, 10 months ago (2014-02-07 19:54:49 UTC) #7
srdjan
6 years, 10 months ago (2014-02-07 21:59:46 UTC) #8
Message was sent while issue was closed.
https://codereview.chromium.org/154393003/diff/320001/runtime/vm/code_generat...
File runtime/vm/code_generator.cc (right):

https://codereview.chromium.org/154393003/diff/320001/runtime/vm/code_generat...
runtime/vm/code_generator.cc:372: TypeArguments::Handle();
This should fit on one line.

https://codereview.chromium.org/154393003/diff/320001/runtime/vm/dart_api_imp...
File runtime/vm/dart_api_impl.cc (right):

https://codereview.chromium.org/154393003/diff/320001/runtime/vm/dart_api_imp...
runtime/vm/dart_api_impl.cc:3165: TypeArguments::Handle(isolate,
type_obj.arguments());
Indent 4 spaces

Powered by Google App Engine
This is Rietveld 408576698