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

Issue 1382243002: Precompilation: Eagerly bind all the static calls after compiling and drop the static call table. (Closed)

Created:
5 years, 2 months ago by rmacnak
Modified:
5 years, 2 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Precompilation: Eagerly bind all the static calls after compiling and drop the static call tables. Shrinks dart2js precompiled.isolate by 2.2%. R=fschneider@google.com Committed: https://github.com/dart-lang/sdk/commit/7e821565d90e3a4e953f20e1b6f3231259e6e2e9

Patch Set 1 #

Total comments: 5

Patch Set 2 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+69 lines, -0 lines) Patch
M runtime/vm/precompiler.h View 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/precompiler.cc View 1 3 chunks +67 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (1 generated)
rmacnak
Assuming we won't try to precompile pretenuring allocation stubs and switch to them.
5 years, 2 months ago (2015-10-02 22:59:17 UTC) #2
Ivan Posva
https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc File runtime/vm/precompiler.cc (right): https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc#newcode716 runtime/vm/precompiler.cc:716: retained_functions = GrowableObjectArray::New(); What purpose does this allocation serve? ...
5 years, 2 months ago (2015-10-03 00:07:32 UTC) #3
Florian Schneider
On 2015/10/02 22:59:17, rmacnak wrote: > Assuming we won't try to precompile pretenuring allocation stubs ...
5 years, 2 months ago (2015-10-05 13:59:01 UTC) #4
rmacnak
On 2015/10/05 13:59:01, Florian Schneider wrote: > On 2015/10/02 22:59:17, rmacnak wrote: > > Assuming ...
5 years, 2 months ago (2015-10-05 17:53:39 UTC) #5
rmacnak
https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc File runtime/vm/precompiler.cc (right): https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc#newcode716 runtime/vm/precompiler.cc:716: retained_functions = GrowableObjectArray::New(); On 2015/10/03 00:07:31, Ivan Posva wrote: ...
5 years, 2 months ago (2015-10-05 17:54:04 UTC) #6
Ivan Posva
https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc File runtime/vm/precompiler.cc (right): https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc#newcode755 runtime/vm/precompiler.cc:755: CodePatcher::PatchStaticCallAt(pc_offset.Value() + code.EntryPoint(), On 2015/10/05 17:54:03, rmacnak wrote: > ...
5 years, 2 months ago (2015-10-05 18:30:06 UTC) #7
Florian Schneider
On 2015/10/05 17:53:39, rmacnak wrote: > On 2015/10/05 13:59:01, Florian Schneider wrote: > > On ...
5 years, 2 months ago (2015-10-05 19:20:51 UTC) #8
rmacnak
Committed patchset #2 (id:20001) manually as 7e821565d90e3a4e953f20e1b6f3231259e6e2e9 (presubmit successful).
5 years, 2 months ago (2015-10-05 22:52:00 UTC) #9
rmacnak
5 years, 2 months ago (2015-10-05 22:55:15 UTC) #10
Message was sent while issue was closed.
On 2015/10/05 18:30:06, Ivan Posva wrote:
> https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc
> File runtime/vm/precompiler.cc (right):
> 
>
https://codereview.chromium.org/1382243002/diff/1/runtime/vm/precompiler.cc#n...
> runtime/vm/precompiler.cc:755:
CodePatcher::PatchStaticCallAt(pc_offset.Value()
> + code.EntryPoint(),
> On 2015/10/05 17:54:03, rmacnak wrote:
> > On 2015/10/03 00:07:31, Ivan Posva wrote:
> > > Can you please explain why only patching of the function based calls is
> needed
> > > and not for the stubs above?
> > 
> > Allocation stubs are generated eagerly, so their uses already point to the
> right
> > Code. Static calls might refer to function that haven't been compiled yet,
so
> > they point to a stub that will ensure compilation then patch up the
reference
> to
> > the right Code.
> 
> Put differently: You are using the stub as a handle until compilation is
> finished, correct? Can you please add a comment to that effect? Thanks!

Yes

Powered by Google App Engine
This is Rietveld 408576698