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

Issue 2486863002: Fix static field initialization in optimzed DBC code. (Closed)

Created:
4 years, 1 month ago by Florian Schneider
Modified:
4 years, 1 month ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Fix static field initialization in optimzed DBC code. Static fields can be initialized from optimized code. This CL adds support for handling InitStaticFieldInstr in optimized code. Fixes #27787. R=zra@google.com Committed: https://github.com/dart-lang/sdk/commit/a77d860806967aef877aec28b19516516ebce297

Patch Set 1 #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+7 lines, -3 lines) Patch
M runtime/vm/intermediate_language_dbc.cc View 1 chunk +7 lines, -3 lines 3 comments Download

Messages

Total messages: 11 (4 generated)
Florian Schneider
4 years, 1 month ago (2016-11-08 19:01:06 UTC) #3
zra
lgtm
4 years, 1 month ago (2016-11-08 19:03:25 UTC) #4
Florian Schneider
Committed patchset #1 (id:1) manually as a77d860806967aef877aec28b19516516ebce297 (presubmit successful).
4 years, 1 month ago (2016-11-08 19:21:53 UTC) #6
Vyacheslav Egorov (Google)
DBC https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_language_dbc.cc File runtime/vm/intermediate_language_dbc.cc (right): https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_language_dbc.cc#newcode424 runtime/vm/intermediate_language_dbc.cc:424: __ InitStaticTOS(); This looks like a call. Does ...
4 years, 1 month ago (2016-11-09 09:28:29 UTC) #8
Florian Schneider
https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_language_dbc.cc File runtime/vm/intermediate_language_dbc.cc (right): https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_language_dbc.cc#newcode424 runtime/vm/intermediate_language_dbc.cc:424: __ InitStaticTOS(); On 2016/11/09 09:28:28, Vyacheslav Egorov (Google) wrote: ...
4 years, 1 month ago (2016-11-09 13:51:52 UTC) #9
Vyacheslav Egorov (Google)
https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_language_dbc.cc File runtime/vm/intermediate_language_dbc.cc (right): https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_language_dbc.cc#newcode424 runtime/vm/intermediate_language_dbc.cc:424: __ InitStaticTOS(); On 2016/11/09 13:51:52, Florian Schneider wrote: > ...
4 years, 1 month ago (2016-11-09 13:55:11 UTC) #10
Florian Schneider
4 years, 1 month ago (2016-11-09 14:22:04 UTC) #11
Message was sent while issue was closed.
On 2016/11/09 13:55:11, Vyacheslav Egorov (Google) wrote:
>
https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_lan...
> File runtime/vm/intermediate_language_dbc.cc (right):
> 
>
https://codereview.chromium.org/2486863002/diff/1/runtime/vm/intermediate_lan...
> runtime/vm/intermediate_language_dbc.cc:424: __ InitStaticTOS();
> On 2016/11/09 13:51:52, Florian Schneider wrote:
> > On 2016/11/09 09:28:28, Vyacheslav Egorov (Google) wrote:
> > > This looks like a call. Does this need compiler->RecordAfterCall(this)?
> > 
> > Actually yes, good point. It could throw, or cause a lazy deopt. 
> > 
> > Will deopt still work with the input pushed on the stack, or do I have to
add
> a
> > InitStaticFieldOpt bytecode that takes a register as input?
> 
> I think it should work. 
> 
> Maybe write a test?

I'll add a test. I see this in other places as well (e.g. optimized static call
where we push the function), so I think it should work as well.

Powered by Google App Engine
This is Rietveld 408576698