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

Issue 1965823002: Initial isolate reload support (Closed)

Created:
4 years, 7 months ago by Cutch
Modified:
4 years, 6 months ago
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

Initial isolate reload support This is a cut of the work that Todd and I collaborated on in the reload branch. In this CL, we've dropped the loader port hacks, in other words, on stack reloading in the standalone embedder does not work yet. - [x] Support for hot reloading of isolate source code - [x] Unit test harness and many tests - [x] Service protocol and Observatory support - [x] Product build does not include support for hot reloading. R=rmacnak@google.com Committed: https://github.com/dart-lang/sdk/commit/48c8ffa7f3d778fb6ee39c558f7ffae9a134e7ad

Patch Set 1 #

Patch Set 2 : #

Total comments: 45

Patch Set 3 : #

Patch Set 4 : #

Total comments: 29

Patch Set 5 : #

Patch Set 6 : #

Total comments: 3
Unified diffs Side-by-side diffs Delta from patch set Stats (+5573 lines, -309 lines) Patch
M runtime/include/dart_api.h View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/lib/developer.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M runtime/observatory/lib/src/app/application.dart View 1 2 3 4 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/observatory/lib/src/elements/debugger.dart View 4 chunks +36 lines, -4 lines 0 comments Download
M runtime/observatory/lib/src/elements/isolate_view.dart View 1 chunk +4 lines, -0 lines 0 comments Download
M runtime/observatory/lib/src/elements/isolate_view.html View 1 chunk +9 lines, -0 lines 0 comments Download
M runtime/observatory/lib/src/elements/nav_bar.html View 3 chunks +22 lines, -0 lines 0 comments Download
M runtime/observatory/lib/src/elements/script_view.html View 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/observatory/lib/src/service/object.dart View 1 2 3 4 9 chunks +27 lines, -1 line 0 comments Download
M runtime/tests/vm/vm.status View 1 chunk +7 lines, -0 lines 0 comments Download
A runtime/vm/become.h View 1 2 3 4 1 chunk +27 lines, -0 lines 0 comments Download
A runtime/vm/become.cc View 1 2 3 4 1 chunk +238 lines, -0 lines 1 comment Download
M runtime/vm/block_scheduler.cc View 1 2 1 chunk +4 lines, -1 line 0 comments Download
M runtime/vm/class_finalizer.cc View 2 chunks +3 lines, -2 lines 0 comments Download
M runtime/vm/class_finalizer_test.cc View 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/class_table.h View 2 chunks +10 lines, -0 lines 0 comments Download
M runtime/vm/code_generator.cc View 1 2 3 4 7 chunks +37 lines, -15 lines 0 comments Download
M runtime/vm/code_patcher_arm64_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/code_patcher_arm_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/code_patcher_ia32_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/code_patcher_mips_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/code_patcher_x64_test.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/compiler.h View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 5 chunks +64 lines, -4 lines 0 comments Download
M runtime/vm/dart_api_impl.cc View 1 2 3 4 1 chunk +2 lines, -0 lines 0 comments Download
M runtime/vm/debugger_test.cc View 1 2 3 4 3 chunks +5 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 2 3 4 2 chunks +4 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_arm64.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 1 chunk +3 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/heap.h View 1 chunk +3 lines, -0 lines 0 comments Download
M runtime/vm/heap_test.cc View 1 2 3 4 2 chunks +78 lines, -1 line 0 comments Download
M runtime/vm/intermediate_language.cc View 1 chunk +1 line, -22 lines 0 comments Download
M runtime/vm/isolate.h View 1 2 3 4 10 chunks +63 lines, -2 lines 0 comments Download
M runtime/vm/isolate.cc View 1 2 3 4 12 chunks +127 lines, -1 line 0 comments Download
A runtime/vm/isolate_reload.h View 1 2 1 chunk +175 lines, -0 lines 0 comments Download
A runtime/vm/isolate_reload.cc View 1 2 3 4 5 1 chunk +1225 lines, -0 lines 0 comments Download
A runtime/vm/isolate_reload_test.cc View 1 2 1 chunk +1832 lines, -0 lines 0 comments Download
M runtime/vm/json_stream.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/object.h View 1 2 18 chunks +85 lines, -7 lines 1 comment Download
M runtime/vm/object.cc View 1 2 3 4 33 chunks +439 lines, -74 lines 1 comment Download
A runtime/vm/object_reload.cc View 1 2 3 4 1 chunk +548 lines, -0 lines 0 comments Download
M runtime/vm/object_service.cc View 1 chunk +5 lines, -4 lines 0 comments Download
M runtime/vm/object_test.cc View 1 2 3 4 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/pages.cc View 1 2 3 4 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/parser.h View 3 chunks +64 lines, -0 lines 0 comments Download
M runtime/vm/parser.cc View 1 2 3 4 9 chunks +35 lines, -75 lines 0 comments Download
M runtime/vm/profiler_test.cc View 1 2 3 4 1 chunk +0 lines, -18 lines 0 comments Download
M runtime/vm/raw_object.h View 1 2 3 5 chunks +8 lines, -4 lines 0 comments Download
M runtime/vm/raw_object.cc View 2 chunks +3 lines, -4 lines 0 comments Download
M runtime/vm/raw_object_snapshot.cc View 1 2 3 4 8 chunks +32 lines, -4 lines 0 comments Download
M runtime/vm/runtime_entry.cc View 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/scavenger.cc View 1 2 3 4 1 chunk +7 lines, -0 lines 0 comments Download
M runtime/vm/service.cc View 1 2 3 4 4 chunks +59 lines, -3 lines 0 comments Download
M runtime/vm/service_event.h View 1 2 3 4 3 chunks +15 lines, -5 lines 0 comments Download
M runtime/vm/service_event.cc View 1 2 3 4 4 chunks +12 lines, -0 lines 0 comments Download
M runtime/vm/service_isolate.h View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/service_isolate.cc View 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/snapshot.h View 1 2 3 4 3 chunks +4 lines, -1 line 0 comments Download
M runtime/vm/stub_code_arm64_test.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M runtime/vm/stub_code_arm_test.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M runtime/vm/stub_code_ia32_test.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M runtime/vm/stub_code_mips_test.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M runtime/vm/stub_code_x64_test.cc View 1 chunk +2 lines, -3 lines 0 comments Download
M runtime/vm/thread.h View 1 2 3 4 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/thread.cc View 1 2 3 4 3 chunks +11 lines, -0 lines 0 comments Download
M runtime/vm/unit_test.h View 3 chunks +28 lines, -1 line 0 comments Download
M runtime/vm/unit_test.cc View 9 chunks +143 lines, -6 lines 0 comments Download
M runtime/vm/vm_sources.gypi View 3 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 21 (8 generated)
Cutch
4 years, 7 months ago (2016-05-10 16:48:27 UTC) #5
rmacnak
Some initial comments https://chromiumcodereview.appspot.com/1965823002/diff/20001/runtime/include/dart_api.h File runtime/include/dart_api.h (right): https://chromiumcodereview.appspot.com/1965823002/diff/20001/runtime/include/dart_api.h#newcode2662 runtime/include/dart_api.h:2662: Dart_kScriptTag, Update values in bin/builtin.dart? https://chromiumcodereview.appspot.com/1965823002/diff/20001/runtime/observatory/lib/src/elements/debugger.dart ...
4 years, 7 months ago (2016-05-11 19:56:19 UTC) #6
Cutch
Ryan, A lot of your comments are known TODO items that we plan on addressing ...
4 years, 7 months ago (2016-05-11 20:09:28 UTC) #7
Cutch
https://chromiumcodereview.appspot.com/1965823002/diff/20001/runtime/include/dart_api.h File runtime/include/dart_api.h (right): https://chromiumcodereview.appspot.com/1965823002/diff/20001/runtime/include/dart_api.h#newcode2662 runtime/include/dart_api.h:2662: Dart_kScriptTag, On 2016/05/11 19:56:17, rmacnak wrote: > Update values ...
4 years, 7 months ago (2016-05-12 15:50:14 UTC) #8
Cutch
https://codereview.chromium.org/1965823002/diff/20001/runtime/vm/raw_object.h File runtime/vm/raw_object.h (right): https://codereview.chromium.org/1965823002/diff/20001/runtime/vm/raw_object.h#newcode1734 runtime/vm/raw_object.h:1734: RawObject* parameterized_class_id_; On 2016/05/11 19:56:18, rmacnak wrote: > Why ...
4 years, 7 months ago (2016-05-12 16:08:50 UTC) #9
rmacnak
lgtm w/c, but I must recuse myself on #become: https://chromiumcodereview.appspot.com/1965823002/diff/60001/runtime/vm/isolate.cc File runtime/vm/isolate.cc (right): https://chromiumcodereview.appspot.com/1965823002/diff/60001/runtime/vm/isolate.cc#newcode816 runtime/vm/isolate.cc:816: ...
4 years, 7 months ago (2016-05-13 17:59:35 UTC) #10
Ivan Posva
Here are the comments for Become. -Ivan https://codereview.chromium.org/1965823002/diff/60001/runtime/vm/become.cc File runtime/vm/become.cc (right): https://codereview.chromium.org/1965823002/diff/60001/runtime/vm/become.cc#newcode23 runtime/vm/become.cc:23: static bool ...
4 years, 7 months ago (2016-05-16 20:58:59 UTC) #11
Ivan Posva
On 2016/05/16 20:58:59, Ivan Posva wrote: > Here are the comments for Become. > > ...
4 years, 7 months ago (2016-05-17 00:01:04 UTC) #12
Cutch
https://codereview.chromium.org/1965823002/diff/60001/runtime/vm/become.cc File runtime/vm/become.cc (right): https://codereview.chromium.org/1965823002/diff/60001/runtime/vm/become.cc#newcode23 runtime/vm/become.cc:23: static bool IsForwardingObject(RawObject* object) { On 2016/05/16 20:58:59, Ivan ...
4 years, 7 months ago (2016-05-17 18:03:52 UTC) #13
Cutch
Committed patchset #6 (id:100001) manually as 48c8ffa7f3d778fb6ee39c558f7ffae9a134e7ad (presubmit successful).
4 years, 7 months ago (2016-05-17 19:19:12 UTC) #15
Florian Schneider
https://codereview.chromium.org/1965823002/diff/100001/runtime/vm/object.cc File runtime/vm/object.cc (right): https://codereview.chromium.org/1965823002/diff/100001/runtime/vm/object.cc#newcode12791 runtime/vm/object.cc:12791: } This approach does not work with background compilation: ...
4 years, 7 months ago (2016-05-18 09:36:57 UTC) #17
Vyacheslav Egorov (Google)
https://codereview.chromium.org/1965823002/diff/100001/runtime/vm/object.h File runtime/vm/object.h (right): https://codereview.chromium.org/1965823002/diff/100001/runtime/vm/object.h#newcode1951 runtime/vm/object.h:1951: void ValidateSentinelLocations() const; This function is empty.
4 years, 7 months ago (2016-05-18 10:28:43 UTC) #19
siva
4 years, 6 months ago (2016-05-27 23:48:01 UTC) #21
Message was sent while issue was closed.
https://chromiumcodereview.appspot.com/1965823002/diff/100001/runtime/vm/beco...
File runtime/vm/become.cc (right):

https://chromiumcodereview.appspot.com/1965823002/diff/100001/runtime/vm/beco...
runtime/vm/become.cc:25: // forwarding objects would have their own class id.
See TODO below.
We should change this to have a becomes forwarding object instead of overloading
Free list elements like this.

Powered by Google App Engine
This is Rietveld 408576698