diff options
Diffstat (limited to 'libjava/java/lang/natClassLoader.cc')
-rw-r--r-- | libjava/java/lang/natClassLoader.cc | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/libjava/java/lang/natClassLoader.cc b/libjava/java/lang/natClassLoader.cc index e660eae..5a0898a 100644 --- a/libjava/java/lang/natClassLoader.cc +++ b/libjava/java/lang/natClassLoader.cc @@ -316,7 +316,7 @@ _Jv_RegisterInitiatingLoader (jclass klass, java::lang::ClassLoader *loader) // class chain. At all other times, the caller should synchronize on // Class::class$. void -_Jv_RegisterClasses (jclass *classes) +_Jv_RegisterClasses (const jclass *classes) { for (; *classes; ++classes) { @@ -331,6 +331,24 @@ _Jv_RegisterClasses (jclass *classes) } } +// This is a version of _Jv_RegisterClasses that takes a count. +void +_Jv_RegisterClasses_Counted (const jclass * classes, size_t count) +{ + size_t i; + for (i = 0; i < count; i++) + { + jclass klass = classes[i]; + + (*_Jv_RegisterClassHook) (klass); + + // registering a compiled class causes + // it to be immediately "prepared". + if (klass->state == JV_STATE_NOTHING) + klass->state = JV_STATE_COMPILED; + } +} + void _Jv_RegisterClassHookDefault (jclass klass) { |