Changeset 489

Show
Ignore:
Timestamp:
03/04/08 18:39:05 (10 months ago)
Author:
chris
Message:

In createNextDimension, ensure that registerClazz is called in GC_Safe
state (because it acquires a lock).

Files:

Legend:

Unmodified
Added
Removed
Modified
Copied
Moved
  • Mika/trunk/core-vm/src/vm/loading.c

    r464 r489  
    10771077  } 
    10781078 
    1079   if (thread) enterUnsafeRegion(thread); 
     1079  if (thread) { 
     1080     enterUnsafeRegion(thread); 
     1081  } 
     1082 
    10801083  if (clazzClass && clazzClass->Class) { 
    10811084    attachClassInstance(array_clazz, thread); 
    10821085  } 
    10831086  setClazzState(array_clazz, CLAZZ_STATE_LINKED); 
     1087 
     1088  woempa(7, "Array clazz %k at %p defined by %j (%w), initiated by %j (%w).\n", array_clazz,array_clazz,array_clazz->loader, loader2name(array_clazz->loader), initiating_loader, loader2name(initiating_loader)); 
     1089  setFlag(array_clazz->flags, ACC_ABSTRACT | ACC_PUBLIC | ACC_FINAL); 
     1090 
     1091  if (thread) { 
     1092    enterSafeRegion(thread); 
     1093  } 
    10841094  registerClazz(currentWonkaThread, array_clazz, initiating_loader); 
    1085  
    1086   woempa(1, "Array clazz %k at %p defined by %j (%w), initiated by %j (%w).\n", array_clazz,array_clazz,array_clazz->loader, loader2name(array_clazz->loader), initiating_loader, loader2name(initiating_loader)); 
    1087   setFlag(array_clazz->flags, ACC_ABSTRACT | ACC_PUBLIC | ACC_FINAL); 
    1088   if (thread) enterSafeRegion(thread); 
    10891095 
    10901096  return array_clazz;