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

Unified Diff: runtime/vm/cha.cc

Issue 1016973002: Move CHA state keeping from Isolate to Thread. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 5 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/cha.h ('k') | runtime/vm/cha_test.cc » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/cha.cc
===================================================================
--- runtime/vm/cha.cc (revision 44544)
+++ runtime/vm/cha.cc (working copy)
@@ -18,7 +18,7 @@
return;
}
}
- leaf_classes_.Add(&Class::ZoneHandle(isolate_, cls.raw()));
+ leaf_classes_.Add(&Class::ZoneHandle(thread_->zone(), cls.raw()));
}
@@ -36,7 +36,7 @@
return true;
}
const GrowableObjectArray& direct_subclasses =
- GrowableObjectArray::Handle(isolate_, cls.direct_subclasses());
+ GrowableObjectArray::Handle(thread_->zone(), cls.direct_subclasses());
bool result =
!direct_subclasses.IsNull() && (direct_subclasses.Length() > 0);
if (!result) {
@@ -47,8 +47,8 @@
bool CHA::HasSubclasses(intptr_t cid) {
- const ClassTable& class_table = *isolate_->class_table();
- Class& cls = Class::Handle(isolate_, class_table.At(cid));
+ const ClassTable& class_table = *thread_->isolate()->class_table();
+ Class& cls = Class::Handle(thread_->zone(), class_table.At(cid));
return HasSubclasses(cls);
}
@@ -72,7 +72,7 @@
bool CHA::HasOverride(const Class& cls, const String& function_name) {
const GrowableObjectArray& cls_direct_subclasses =
- GrowableObjectArray::Handle(isolate_, cls.direct_subclasses());
+ GrowableObjectArray::Handle(thread_->zone(), cls.direct_subclasses());
// Subclasses of Object are not tracked by CHA. Safely assume that overrides
// exist.
if (cls.IsObjectClass()) {
@@ -83,7 +83,7 @@
AddToLeafClasses(cls);
return false;
}
- Class& direct_subclass = Class::Handle(isolate_);
+ Class& direct_subclass = Class::Handle(thread_->zone());
for (intptr_t i = 0; i < cls_direct_subclasses.Length(); i++) {
direct_subclass ^= cls_direct_subclasses.At(i);
// Unfinalized classes are treated as non-existent for CHA purposes,
« no previous file with comments | « runtime/vm/cha.h ('k') | runtime/vm/cha_test.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698