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

Issue 1052563003: VM: Add infrastructure to support deferred generation of unoptimized code. (Closed)

Created:
5 years, 8 months ago by Florian Schneider
Modified:
5 years, 8 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

VM: Add infrastructure to support deferred generation of unoptimized code. Add deferred deoptimization instructions for return address, pc marker and object pool pointer. This enables generating unoptimized code lazily on deoptimization. This CL does not change the way unoptimized code is generated or collected yet, but just provides the mechanisms needed. This can be used to allow code GC for the unoptimized code of optimized functions. Committed: https://code.google.com/p/dart/source/detail?r=44934

Patch Set 1 #

Patch Set 2 : #

Total comments: 8
Unified diffs Side-by-side diffs Delta from patch set Stats (+300 lines, -118 lines) Patch
M runtime/vm/compiler.h View 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/compiler.cc View 1 2 chunks +28 lines, -0 lines 4 comments Download
M runtime/vm/deferred_objects.h View 1 chunk +52 lines, -0 lines 0 comments Download
M runtime/vm/deferred_objects.cc View 3 chunks +108 lines, -0 lines 4 comments Download
M runtime/vm/deopt_instructions.h View 3 chunks +25 lines, -3 lines 0 comments Download
M runtime/vm/deopt_instructions.cc View 7 chunks +20 lines, -73 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 3 chunks +11 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 3 chunks +11 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 4 chunks +8 lines, -5 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 3 chunks +11 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 3 chunks +11 lines, -7 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/object.h View 1 chunk +0 lines, -3 lines 0 comments Download
M runtime/vm/object.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/stub_code_arm.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/stub_code_arm64.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/stub_code_mips.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/stub_code_x64.cc View 1 chunk +2 lines, -1 line 0 comments Download

Messages

Total messages: 12 (3 generated)
Florian Schneider
5 years, 8 months ago (2015-04-02 10:07:33 UTC) #2
Ivan Posva
LGTM -ip https://codereview.chromium.org/1052563003/diff/20001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/1052563003/diff/20001/runtime/vm/compiler.cc#newcode1072 runtime/vm/compiler.cc:1072: if (!original_code.IsNull() && This logic here is ...
5 years, 8 months ago (2015-04-02 17:14:00 UTC) #3
srdjan
DBC https://codereview.chromium.org/1052563003/diff/20001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/1052563003/diff/20001/runtime/vm/compiler.cc#newcode1061 runtime/vm/compiler.cc:1061: Code& original_code = Code::ZoneHandle(); pass thread->zone() to it. ...
5 years, 8 months ago (2015-04-02 17:43:40 UTC) #5
Florian Schneider
https://codereview.chromium.org/1052563003/diff/20001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/1052563003/diff/20001/runtime/vm/compiler.cc#newcode1061 runtime/vm/compiler.cc:1061: Code& original_code = Code::ZoneHandle(); On 2015/04/02 17:43:40, srdjan wrote: ...
5 years, 8 months ago (2015-04-07 09:07:57 UTC) #6
Florian Schneider
Committed: https://code.google.com/p/dart/source/detail?r=44934
5 years, 8 months ago (2015-04-07 12:35:18 UTC) #7
rmacnak
This breaks live editing. Optimized code should always have a strong reference to its corresponding ...
5 years, 8 months ago (2015-04-09 18:43:35 UTC) #9
Vyacheslav Egorov (Google)
I was under an impression that live editing is not implemented. Am I wrong? One ...
5 years, 8 months ago (2015-04-09 19:45:12 UTC) #10
rmacnak
On 2015/04/09 19:45:12, Vyacheslav Egorov (Google) wrote: > I was under an impression that live ...
5 years, 8 months ago (2015-04-09 20:30:17 UTC) #11
Ivan Posva
5 years, 8 months ago (2015-04-09 20:35:17 UTC) #12
Message was sent while issue was closed.
On 2015/04/09 20:30:17, rmacnak wrote:
> On 2015/04/09 19:45:12, Vyacheslav Egorov (Google) wrote:
> > I was under an impression that live editing is not implemented. Am I wrong?
> One
> > can't break something that is not implemented.
> 
> A subset that only deals with methods is implemented on my machine, but not
> checked in.

Ryan,

Please let's focus on the thing that is actually checked in and working in
production: Deferred loading of code. If there is a problem then we need to find
a solution. Why do you think we need to have the code around for the case BEFORE
the loading has been resolved?

Thanks,
-Ivan

Powered by Google App Engine
This is Rietveld 408576698