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

Issue 463103002: Fix bug with CHA dependencies by recording a set of classes for registering code. (Closed)

Created:
6 years, 4 months ago by Florian Schneider
Modified:
6 years, 4 months ago
CC:
reviews_dartlang.org, vm-dev_dartlang.org
Visibility:
Public.

Description

Fix bug with CHA dependencies by recording a set of classes for registering code. CHA is not only used with the receiver class, but also with other classes when doing type propagation. The optimized code has to be registered with all classes that are affected by CHA so that deoptimization occurs whenever the set of subclasses changes for these classes. R=vegorov@google.com Committed: https://code.google.com/p/dart/source/detail?r=39194

Patch Set 1 #

Total comments: 15

Patch Set 2 : addressed comments, fixed issue with interfaces #

Total comments: 4

Patch Set 3 : #

Total comments: 13

Patch Set 4 : address remaining comments #

Unified diffs Side-by-side diffs Delta from patch set Stats (+378 lines, -209 lines) Patch
M runtime/vm/cha.h View 1 2 3 2 chunks +36 lines, -21 lines 0 comments Download
M runtime/vm/cha.cc View 1 2 3 3 chunks +58 lines, -93 lines 0 comments Download
M runtime/vm/cha_test.cc View 1 2 3 3 chunks +21 lines, -50 lines 0 comments Download
M runtime/vm/class_finalizer.cc View 1 2 3 3 chunks +25 lines, -3 lines 0 comments Download
M runtime/vm/compiler.cc View 5 chunks +13 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.h View 1 chunk +1 line, -0 lines 0 comments Download
M runtime/vm/flow_graph_optimizer.cc View 4 chunks +8 lines, -7 lines 0 comments Download
M runtime/vm/flow_graph_type_propagator.cc View 4 chunks +13 lines, -24 lines 0 comments Download
M runtime/vm/isolate.h View 3 chunks +4 lines, -3 lines 0 comments Download
M runtime/vm/isolate.cc View 1 chunk +1 line, -1 line 0 comments Download
M runtime/vm/object.cc View 1 chunk +1 line, -0 lines 0 comments Download
A tests/language/cha_deopt1_deferred_lib.dart View 1 chunk +13 lines, -0 lines 0 comments Download
A tests/language/cha_deopt1_lib.dart View 1 chunk +12 lines, -0 lines 0 comments Download
A tests/language/cha_deopt1_test.dart View 1 chunk +50 lines, -0 lines 0 comments Download
A tests/language/cha_deopt2_deferred_lib.dart View 1 chunk +9 lines, -0 lines 0 comments Download
A tests/language/cha_deopt2_lib.dart View 1 chunk +13 lines, -0 lines 0 comments Download
A tests/language/cha_deopt2_test.dart View 1 chunk +39 lines, -0 lines 0 comments Download
A tests/language/cha_deopt3_deferred_lib.dart View 1 chunk +9 lines, -0 lines 0 comments Download
A tests/language/cha_deopt3_lib.dart View 1 chunk +13 lines, -0 lines 0 comments Download
A tests/language/cha_deopt3_test.dart View 1 chunk +39 lines, -0 lines 0 comments Download

Messages

Total messages: 7 (0 generated)
Florian Schneider
https://codereview.chromium.org/463103002/diff/1/runtime/vm/cha.h File runtime/vm/cha.h (left): https://codereview.chromium.org/463103002/diff/1/runtime/vm/cha.h#oldcode29 runtime/vm/cha.h:29: static ZoneGrowableArray<intptr_t>* GetSubclassIdsOf(intptr_t cid); I removed these methods since ...
6 years, 4 months ago (2014-08-12 11:37:10 UTC) #1
Vyacheslav Egorov (Google)
first round of comments, I will wait for final revision that removes IsKnownPrivateClass and handles ...
6 years, 4 months ago (2014-08-12 12:16:56 UTC) #2
srdjan
DBC https://codereview.chromium.org/463103002/diff/20001/runtime/vm/cha.cc File runtime/vm/cha.cc (right): https://codereview.chromium.org/463103002/diff/20001/runtime/vm/cha.cc#newcode15 runtime/vm/cha.cc:15: void CHA::AddToCHAClasses(Class* cls) { This would be clearer ...
6 years, 4 months ago (2014-08-12 17:29:53 UTC) #3
Florian Schneider
Addressed comments and another bug fixed bug with CHA and interface implementation. https://codereview.chromium.org/463103002/diff/1/runtime/vm/cha.cc File runtime/vm/cha.cc ...
6 years, 4 months ago (2014-08-13 10:34:41 UTC) #4
Vyacheslav Egorov (Google)
lgtm https://codereview.chromium.org/463103002/diff/40001/runtime/vm/cha.cc File runtime/vm/cha.cc (right): https://codereview.chromium.org/463103002/diff/40001/runtime/vm/cha.cc#newcode15 runtime/vm/cha.cc:15: void CHA::AddToCHAClasses(Class* cls) { Accept an normal Handle ...
6 years, 4 months ago (2014-08-13 11:40:28 UTC) #5
Florian Schneider
https://codereview.chromium.org/463103002/diff/20001/runtime/vm/cha.cc File runtime/vm/cha.cc (right): https://codereview.chromium.org/463103002/diff/20001/runtime/vm/cha.cc#newcode15 runtime/vm/cha.cc:15: void CHA::AddToCHAClasses(Class* cls) { On 2014/08/12 17:29:53, srdjan wrote: ...
6 years, 4 months ago (2014-08-13 12:08:58 UTC) #6
Florian Schneider
6 years, 4 months ago (2014-08-13 12:43:18 UTC) #7
Message was sent while issue was closed.
Committed patchset #4 manually as r39194 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698