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

Issue 265443002: VM: Explicitly load function and context before calling a closure. (Closed)

Created:
6 years, 7 months ago by Florian Schneider
Modified:
6 years, 7 months ago
Reviewers:
regis, srdjan
CC:
reviews_dartlang.org, vm-dev_dartlang.org, regis
Visibility:
Public.

Description

VM: Explicitly load function and context before calling a closure. Before these were implicitly loaded as part of the closure calling code sequence. This CL makes those loads canditates for load elimination. The context is also explictly stored before the call. R=regis@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=35595

Patch Set 1 #

Total comments: 10

Patch Set 2 : addressed comments #

Total comments: 3

Patch Set 3 : fixed deopt environment for closure calls #

Patch Set 4 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+107 lines, -87 lines) Patch
M runtime/vm/flow_graph.cc View 1 2 2 chunks +10 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 1 chunk +35 lines, -13 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 1 chunk +0 lines, -17 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 2 3 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/il_printer.cc View 1 2 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.h View 3 chunks +11 lines, -7 lines 0 comments Download
M runtime/vm/intermediate_language_arm.cc View 2 chunks +10 lines, -12 lines 0 comments Download
M runtime/vm/intermediate_language_ia32.cc View 1 2 1 chunk +9 lines, -11 lines 0 comments Download
M runtime/vm/intermediate_language_mips.cc View 2 chunks +10 lines, -12 lines 0 comments Download
M runtime/vm/intermediate_language_x64.cc View 2 chunks +11 lines, -13 lines 0 comments Download

Messages

Total messages: 11 (0 generated)
Florian Schneider
6 years, 7 months ago (2014-04-29 23:41:25 UTC) #1
srdjan
LGTM after OK from Regis on object.cc change https://codereview.chromium.org/265443002/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/265443002/diff/1/runtime/vm/flow_graph_builder.cc#newcode2417 runtime/vm/flow_graph_builder.cc:2417: Why ...
6 years, 7 months ago (2014-04-30 15:41:58 UTC) #2
Florian Schneider
https://codereview.chromium.org/265443002/diff/1/runtime/vm/flow_graph_builder.cc File runtime/vm/flow_graph_builder.cc (right): https://codereview.chromium.org/265443002/diff/1/runtime/vm/flow_graph_builder.cc#newcode2417 runtime/vm/flow_graph_builder.cc:2417: On 2014/04/30 15:41:58, srdjan wrote: > Why the empty ...
6 years, 7 months ago (2014-04-30 16:02:18 UTC) #3
Florian Schneider
https://codereview.chromium.org/265443002/diff/1/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/265443002/diff/1/runtime/vm/object.cc#newcode13853 runtime/vm/object.cc:13853: return Object::dynamic_type(); On 2014/04/30 16:02:19, Florian Schneider wrote: > ...
6 years, 7 months ago (2014-04-30 16:05:23 UTC) #4
regis
https://codereview.chromium.org/265443002/diff/1/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/265443002/diff/1/runtime/vm/object.cc#newcode13853 runtime/vm/object.cc:13853: return Object::dynamic_type(); On 2014/04/30 16:05:24, Florian Schneider wrote: > ...
6 years, 7 months ago (2014-04-30 16:46:38 UTC) #5
Florian Schneider
On 2014/04/30 16:46:38, regis wrote: > https://codereview.chromium.org/265443002/diff/1/runtime/vm/object.cc > File runtime/vm/object.cc (right): > > https://codereview.chromium.org/265443002/diff/1/runtime/vm/object.cc#newcode13853 > ...
6 years, 7 months ago (2014-04-30 17:42:22 UTC) #6
regis
https://codereview.chromium.org/265443002/diff/10001/runtime/vm/object.h File runtime/vm/object.h (right): https://codereview.chromium.org/265443002/diff/10001/runtime/vm/object.h#newcode438 runtime/vm/object.h:438: static RawType* function_type() { return function_type_; } You should ...
6 years, 7 months ago (2014-04-30 18:23:15 UTC) #7
Florian Schneider
https://codereview.chromium.org/265443002/diff/10001/runtime/vm/object.h File runtime/vm/object.h (right): https://codereview.chromium.org/265443002/diff/10001/runtime/vm/object.h#newcode438 runtime/vm/object.h:438: static RawType* function_type() { return function_type_; } On 2014/04/30 ...
6 years, 7 months ago (2014-04-30 18:57:33 UTC) #8
regis
LGTM
6 years, 7 months ago (2014-04-30 19:33:04 UTC) #9
Florian Schneider
Committed patchset #4 manually as r35595 (presubmit successful).
6 years, 7 months ago (2014-04-30 20:14:16 UTC) #10
zra
6 years, 7 months ago (2014-04-30 23:03:10 UTC) #11
Message was sent while issue was closed.
On 2014/04/30 20:14:16, Florian Schneider wrote:
> Committed patchset #4 manually as r35595 (presubmit successful).

DBC.

Please keep an eye out for things that have already been implemented on arm64,
e.g. the ClosureCallInstr. I'll fix it this time.

Powered by Google App Engine
This is Rietveld 408576698