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

Issue 70183010: Fixes a couple problems with GC of unoptimized code. (Closed)

Created:
7 years, 1 month ago by zra
Modified:
7 years, 1 month ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Fixes a couple problems with GC of unoptimized code. 1. Instead of making a pass before the Marking phase, this change does not visit code pointers in functions during marking. Then after marking, if the code has still not been marked, code pointers in functions are nulled out. 2. Since code pointers in functions may be nulled out, functions are no longer used as proxies for code in deoptimization info. R=iposva@google.com, srdjan@google.com Committed: https://code.google.com/p/dart/source/detail?r=30600

Patch Set 1 #

Patch Set 2 : #

Total comments: 8

Patch Set 3 : #

Patch Set 4 : #

Patch Set 5 : #

Total comments: 36

Patch Set 6 : #

Patch Set 7 : #

Patch Set 8 : #

Unified diffs Side-by-side diffs Delta from patch set Stats (+282 lines, -200 lines) Patch
M runtime/vm/block_scheduler.cc View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/code_generator.cc View 1 2 3 4 5 6 7 4 chunks +30 lines, -23 lines 0 comments Download
M runtime/vm/code_patcher.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/compiler.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/deopt_instructions.h View 1 2 3 4 5 6 7 1 chunk +3 lines, -3 lines 0 comments Download
M runtime/vm/deopt_instructions.cc View 1 2 3 4 5 6 7 6 chunks +25 lines, -30 lines 0 comments Download
runtime/vm/flow_graph.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/flow_graph_builder.cc View 1 2 3 4 5 6 7 1 chunk +3 lines, -1 line 0 comments Download
M runtime/vm/flow_graph_compiler_arm.cc View 1 2 3 4 5 6 7 4 chunks +12 lines, -8 lines 0 comments Download
M runtime/vm/flow_graph_compiler_ia32.cc View 1 2 3 4 5 6 7 6 chunks +13 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_compiler_mips.cc View 1 2 3 4 5 6 7 4 chunks +12 lines, -8 lines 0 comments Download
M runtime/vm/flow_graph_compiler_x64.cc View 1 2 3 4 5 6 7 4 chunks +11 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_inliner.cc View 1 2 3 4 5 6 7 6 chunks +19 lines, -9 lines 0 comments Download
M runtime/vm/gc_marker.h View 1 2 3 4 5 6 7 1 chunk +2 lines, -1 line 0 comments Download
M runtime/vm/gc_marker.cc View 1 2 3 4 5 6 7 8 chunks +51 lines, -7 lines 0 comments Download
M runtime/vm/intermediate_language.h View 1 2 3 4 5 6 7 4 chunks +5 lines, -5 lines 0 comments Download
M runtime/vm/intermediate_language.cc View 1 2 3 4 5 6 7 2 chunks +3 lines, -3 lines 0 comments Download
runtime/vm/megamorphic_cache_table.h View 1 2 3 4 5 6 7 3 chunks +4 lines, -2 lines 0 comments Download
M runtime/vm/megamorphic_cache_table.cc View 1 2 3 4 5 6 7 2 chunks +6 lines, -3 lines 0 comments Download
M runtime/vm/object.h View 1 2 3 4 5 6 7 4 chunks +9 lines, -7 lines 0 comments Download
M runtime/vm/object.cc View 1 2 3 4 5 6 7 1 chunk +0 lines, -16 lines 0 comments Download
M runtime/vm/pages.h View 1 2 3 4 5 6 7 2 chunks +4 lines, -3 lines 0 comments Download
M runtime/vm/pages.cc View 1 2 3 4 5 6 7 4 chunks +10 lines, -50 lines 0 comments Download
M runtime/vm/parser.h View 1 2 3 4 5 6 7 3 chunks +3 lines, -0 lines 0 comments Download
runtime/vm/raw_object.h View 1 2 3 4 5 6 7 2 chunks +7 lines, -1 line 0 comments Download
M runtime/vm/raw_object.cc View 1 2 3 4 5 6 7 1 chunk +36 lines, -1 line 0 comments Download
runtime/vm/stack_frame.cc View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/visitor.h View 1 2 3 4 5 6 7 2 chunks +6 lines, -0 lines 0 comments Download

Messages

Total messages: 10 (0 generated)
zra
Here are the changes we talked about on Thursday morning.
7 years, 1 month ago (2013-11-15 18:29:16 UTC) #1
Ivan Posva
First round of comments. -Ivan https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc#newcode1349 runtime/vm/code_generator.cc:1349: if (!function.HasCode()) { Code ...
7 years, 1 month ago (2013-11-16 00:06:21 UTC) #2
zra
+srdjan,fschneider,kmillikn https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc#newcode1349 runtime/vm/code_generator.cc:1349: if (!function.HasCode()) { On 2013/11/16 00:06:21, Ivan Posva ...
7 years, 1 month ago (2013-11-18 18:54:31 UTC) #3
zra
+srdjan,fschneider,kmillikn https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc File runtime/vm/code_generator.cc (right): https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc#newcode1349 runtime/vm/code_generator.cc:1349: if (!function.HasCode()) { On 2013/11/16 00:06:21, Ivan Posva ...
7 years, 1 month ago (2013-11-18 18:54:32 UTC) #4
zra
On 2013/11/18 18:54:32, zra wrote: > +srdjan,fschneider,kmillikn > > https://codereview.chromium.org/70183010/diff/220001/runtime/vm/code_generator.cc > File runtime/vm/code_generator.cc (right): > ...
7 years, 1 month ago (2013-11-18 18:56:07 UTC) #5
srdjan
LGTM with comments https://codereview.chromium.org/70183010/diff/630001/runtime/vm/block_scheduler.cc File runtime/vm/block_scheduler.cc (right): https://codereview.chromium.org/70183010/diff/630001/runtime/vm/block_scheduler.cc#newcode56 runtime/vm/block_scheduler.cc:56: flow_graph()->parsed_function().function().unoptimized_code()); Maybe cache unoptimized code in ...
7 years, 1 month ago (2013-11-19 19:18:28 UTC) #6
Ivan Posva
https://codereview.chromium.org/70183010/diff/630001/runtime/vm/gc_marker.cc File runtime/vm/gc_marker.cc (right): https://codereview.chromium.org/70183010/diff/630001/runtime/vm/gc_marker.cc#newcode170 runtime/vm/gc_marker.cc:170: TryDetachingCode(); DetachCode() https://codereview.chromium.org/70183010/diff/630001/runtime/vm/gc_marker.cc#newcode238 runtime/vm/gc_marker.cc:238: // If the code wasn't ...
7 years, 1 month ago (2013-11-19 19:24:48 UTC) #7
zra
PTAL https://codereview.chromium.org/70183010/diff/630001/runtime/vm/block_scheduler.cc File runtime/vm/block_scheduler.cc (right): https://codereview.chromium.org/70183010/diff/630001/runtime/vm/block_scheduler.cc#newcode56 runtime/vm/block_scheduler.cc:56: flow_graph()->parsed_function().function().unoptimized_code()); On 2013/11/19 19:18:29, srdjan wrote: > Maybe ...
7 years, 1 month ago (2013-11-22 17:18:54 UTC) #8
Ivan Posva
LGTM -ip
7 years, 1 month ago (2013-11-22 23:53:31 UTC) #9
zra
7 years, 1 month ago (2013-11-23 00:17:54 UTC) #10
Message was sent while issue was closed.
Committed patchset #8 manually as r30600 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698