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

Issue 1436243005: Collect closure functions in isolate (Closed)

Created:
5 years, 1 month ago by hausner
Modified:
5 years, 1 month ago
Reviewers:
rmacnak, Cutch, Ivan Posva
CC:
reviews_dartlang.org, turnidge, rmacnak, vm-dev_dartlang.org
Base URL:
git@github.com:dart-lang/sdk.git@master
Target Ref:
refs/heads/master
Visibility:
Public.

Description

Collect closure functions in isolate Instead of collecting closures functions in each class object, maintain one list per isolate. This is a step towards getting rid of top-level classes. I'd appreciate if John could take a look at the service isolate and coverage related change. I'd appreciate if Ryan could take a look at the precompilation related change. When compiling all of corelib, the list of closures in the isolate is about 600 entries long. If this linear list should become a bottleneck, I'll deal with it later. (Sadly, some code relies on the fact that a closure can be identified with a list index, so making it a hash table instead of an array does not work.) BUG= R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/648e52baa891816fc887b50e1096a048d9fb206e

Patch Set 1 #

Patch Set 2 : #

Total comments: 8

Patch Set 3 : Address review comments #

Patch Set 4 : #

Patch Set 5 : #

Patch Set 6 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+209 lines, -254 lines) Patch
M runtime/observatory/tests/service/coverage_test.dart View 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 5 1 chunk +12 lines, -12 lines 0 comments Download
M runtime/vm/compiler_stats.cc View 1 3 chunks +5 lines, -0 lines 0 comments Download
M runtime/vm/coverage.cc View 1 chunk +33 lines, -31 lines 0 comments Download
M runtime/vm/debugger.cc View 1 2 6 chunks +41 lines, -54 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 1 chunk +8 lines, -15 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 1 chunk +6 lines, -0 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 3 4 1 chunk +56 lines, -0 lines 0 comments Download
M runtime/vm/object.h View 1 2 1 chunk +0 lines, -9 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 3 chunks +1 line, -82 lines 0 comments Download
M runtime/vm/object_store.h View 1 2 3 4 5 2 chunks +9 lines, -0 lines 0 comments Download
M runtime/vm/object_store.cc View 2 chunks +2 lines, -0 lines 0 comments Download
M runtime/vm/object_test.cc View 1 2 2 chunks +5 lines, -4 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 5 chunks +9 lines, -19 lines 0 comments Download
M runtime/vm/precompiler.cc View 2 chunks +19 lines, -24 lines 0 comments Download
M runtime/vm/raw_object.h View 1 2 3 4 5 1 chunk +0 lines, -1 line 0 comments Download
M runtime/vm/service.cc View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 11 (2 generated)
hausner
5 years, 1 month ago (2015-11-13 01:23:37 UTC) #3
Ivan Posva
On 2015/11/13 01:23:30, hausner wrote: > Description was changed from > > ========== > Collect ...
5 years, 1 month ago (2015-11-13 03:53:07 UTC) #4
hausner
For an ia32 build, this change reduces the VM snapshot by about 1.1 KB and ...
5 years, 1 month ago (2015-11-13 17:35:01 UTC) #5
Ivan Posva
https://codereview.chromium.org/1436243005/diff/20001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/1436243005/diff/20001/runtime/vm/debugger.cc#newcode1882 runtime/vm/debugger.cc:1882: closures = isolate_->object_store()->closure_functions(); Why did this code move from ...
5 years, 1 month ago (2015-11-13 17:47:51 UTC) #6
Cutch
The service protocol does not need to use indexes to look objects up in the ...
5 years, 1 month ago (2015-11-13 17:51:58 UTC) #7
rmacnak
tree shaker LGTM
5 years, 1 month ago (2015-11-13 18:07:19 UTC) #8
hausner
Address iposva's review comments. https://codereview.chromium.org/1436243005/diff/20001/runtime/vm/debugger.cc File runtime/vm/debugger.cc (right): https://codereview.chromium.org/1436243005/diff/20001/runtime/vm/debugger.cc#newcode1882 runtime/vm/debugger.cc:1882: closures = isolate_->object_store()->closure_functions(); On 2015/11/13 ...
5 years, 1 month ago (2015-11-13 20:13:29 UTC) #9
hausner
Committed patchset #6 (id:100001) manually as 648e52baa891816fc887b50e1096a048d9fb206e (presubmit successful).
5 years, 1 month ago (2015-11-17 23:40:31 UTC) #10
hausner
5 years, 1 month ago (2015-11-17 23:41:51 UTC) #11
Message was sent while issue was closed.
We discussed this change offline. Will address additional review comments in a
later checkin.

TBR/LGTM'ed

Powered by Google App Engine
This is Rietveld 408576698