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

Issue 982873004: Thread/Isolate refactoring: new(Isolate) -> new(Zone) (Closed)

Created:
5 years, 9 months ago by koda
Modified:
5 years, 9 months ago
Reviewers:
Ivan Posva
CC:
reviews_dartlang.org, vm-dev_dartlang.org, zerny-google
Visibility:
Public.

Description

Thread/Isolate refactoring: new(Isolate*) -> new(Zone*) Refactor all remaning cases where the current zone is used through new(Isolate*) and remove this interface. Removing this interface is needed to move towards multiple threads per isolate, and also makes the caller more aware of the scope of the zone used, reducing the risk of use-after-free. Make the current thread and the stack zone created around native/runtime entries directly available in their body, saving an indirection (and optimized away if unused). R=iposva@google.com Committed: https://code.google.com/p/dart/source/detail?r=44541

Patch Set 1 #

Patch Set 2 : #

Patch Set 3 : #

Patch Set 4 : #

Total comments: 10

Patch Set 5 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+906 lines, -862 lines) Patch
M runtime/lib/isolate.cc View 1 chunk +0 lines, -1 line 0 comments Download
M runtime/lib/mirrors.cc View 1 2 chunks +5 lines, -4 lines 0 comments Download
M runtime/lib/regexp.cc View 3 chunks +3 lines, -2 lines 0 comments Download
M runtime/lib/string.cc View 1 chunk +0 lines, -2 lines 0 comments Download
M runtime/vm/allocation.h View 1 1 chunk +0 lines, -5 lines 0 comments Download
M runtime/vm/allocation.cc View 1 1 chunk +0 lines, -6 lines 0 comments Download
M runtime/vm/code_generator.cc View 1 6 chunks +6 lines, -6 lines 0 comments Download
M runtime/vm/compiler.h View 1 1 chunk +2 lines, -2 lines 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 13 chunks +35 lines, -29 lines 0 comments Download
M runtime/vm/constant_propagator.cc View 1 3 chunks +8 lines, -8 lines 0 comments Download
M runtime/vm/coverage.cc View 1 3 chunks +5 lines, -3 lines 0 comments Download
M runtime/vm/dart_entry.cc View 1 2 chunks +5 lines, -3 lines 0 comments Download
M runtime/vm/deopt_instructions.h View 1 7 chunks +8 lines, -7 lines 0 comments Download
M runtime/vm/deopt_instructions.cc View 1 23 chunks +42 lines, -41 lines 0 comments Download
M runtime/vm/flow_graph.h View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph.cc View 1 2 3 4 3 chunks +8 lines, -4 lines 0 comments Download
M runtime/vm/flow_graph_builder.h View 3 chunks +3 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 166 chunks +324 lines, -325 lines 0 comments Download
M runtime/vm/flow_graph_compiler.h View 2 chunks +2 lines, -0 lines 0 comments Download
M runtime/vm/flow_graph_compiler.cc View 1 9 chunks +11 lines, -13 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 1 10 chunks +12 lines, -12 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 1 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 1 21 chunks +38 lines, -39 lines 0 comments Download
M runtime/vm/flow_graph_range_analysis.h View 1 2 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/flow_graph_range_analysis.cc View 1 7 chunks +19 lines, -21 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.h View 1 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 1 2 chunks +3 lines, -3 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 7 chunks +11 lines, -11 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 15 chunks +34 lines, -34 lines 0 comments Download
M runtime/vm/native_entry.h View 1 2 2 chunks +12 lines, -2 lines 0 comments Download
M runtime/vm/object.h View 4 chunks +28 lines, -13 lines 0 comments Download
M runtime/vm/regexp.h View 19 chunks +33 lines, -33 lines 0 comments Download
M runtime/vm/regexp.cc View 1 2 3 4 56 chunks +94 lines, -91 lines 0 comments Download
M runtime/vm/regexp_assembler.h View 4 chunks +5 lines, -5 lines 0 comments Download
M runtime/vm/regexp_assembler.cc View 42 chunks +75 lines, -75 lines 0 comments Download
M runtime/vm/regexp_parser.h View 4 chunks +6 lines, -6 lines 0 comments Download
M runtime/vm/regexp_parser.cc View 17 chunks +26 lines, -26 lines 0 comments Download
M runtime/vm/regexp_test.cc View 1 chunk +3 lines, -3 lines 0 comments Download
M runtime/vm/runtime_entry.h View 1 2 2 chunks +13 lines, -5 lines 0 comments Download
M runtime/vm/scanner.h View 2 chunks +2 lines, -2 lines 0 comments Download
M runtime/vm/scanner.cc View 9 chunks +10 lines, -10 lines 0 comments Download
M runtime/vm/thread.h View 1 1 chunk +5 lines, -0 lines 0 comments Download
M runtime/vm/unit_test.cc View 1 1 chunk +3 lines, -3 lines 0 comments Download

Messages

Total messages: 7 (1 generated)
koda
5 years, 9 months ago (2015-03-06 20:55:34 UTC) #2
koda
The next step will be to remove the remaining uses of Isolate::current_zone() and pivot Isolate* ...
5 years, 9 months ago (2015-03-06 21:05:43 UTC) #3
Ivan Posva
First round of comments. -Ivan https://codereview.chromium.org/982873004/diff/60001/runtime/vm/compiler.cc File runtime/vm/compiler.cc (right): https://codereview.chromium.org/982873004/diff/60001/runtime/vm/compiler.cc#newcode83 runtime/vm/compiler.cc:83: Zone* zone) = 0; ...
5 years, 9 months ago (2015-03-13 21:56:50 UTC) #4
koda
iposva: Addressed comments and updated CZ macro; PTAL zerny: Please verify that the CZ->OZ change ...
5 years, 9 months ago (2015-03-14 00:46:37 UTC) #5
Ivan Posva
LGTM If Ian has any concerns we can address them at a later point. -Ivan
5 years, 9 months ago (2015-03-17 16:50:37 UTC) #6
koda
5 years, 9 months ago (2015-03-17 19:25:09 UTC) #7
Message was sent while issue was closed.
Committed patchset #5 (id:80001) manually as r44541 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698