In CheckIsolate process only if we have any unfinalized classes.

Review URL: http://codereview.chromium.org//9027025

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@2798 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
asiva@google.com 2011-12-23 00:46:00 +00:00
parent 39714313b3
commit 59858f6e58

View file

@ -53,9 +53,12 @@ const char* CanonicalFunction(const char* func) {
// Return error if isolate is in an inconsistent state.
// Return NULL when no error condition exists.
const char* CheckIsolateState(Isolate* isolate, bool generating_snapshot) {
bool success = (generating_snapshot) ?
ClassFinalizer::FinalizePendingClassesForSnapshotCreation() :
ClassFinalizer::FinalizePendingClasses();
bool success = true;
if (!ClassFinalizer::AllClassesFinalized()) {
success = (generating_snapshot) ?
ClassFinalizer::FinalizePendingClassesForSnapshotCreation() :
ClassFinalizer::FinalizePendingClasses();
}
if (success && !generating_snapshot) {
success = isolate->object_store()->PreallocateObjects();
}