projects
/
cacao.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
* compile_all_class_methods: Removed.
[cacao.git]
/
src
/
vm
/
linker.c
diff --git
a/src/vm/linker.c
b/src/vm/linker.c
index 95bab8867dde530c84f65ebf65f8c902ec4bd087..db8ae3f53de067e5b2e0e71978c9107b02869d14 100644
(file)
--- a/
src/vm/linker.c
+++ b/
src/vm/linker.c
@@
-32,7
+32,7
@@
Edwin Steiner
Christian Thalinger
Edwin Steiner
Christian Thalinger
- $Id: linker.c 3
351 2005-10-05 11:53:28Z edwin
$
+ $Id: linker.c 3
685 2005-11-16 13:28:59Z twisti
$
*/
*/
@@
-447,7
+447,10
@@
static classinfo *link_class_intern(classinfo *c)
/* has not yet been recorded as an initiating loader for the class */
/* this is needed so subsequent code can assume that self-refs */
/* will always resolve lazily */
/* has not yet been recorded as an initiating loader for the class */
/* this is needed so subsequent code can assume that self-refs */
/* will always resolve lazily */
- classcache_store(c->classloader,c,false);
+ /* No need to do it for the bootloader - it is always registered */
+ /* as initiating loader for the classes it loads. */
+ if (c->classloader)
+ classcache_store(c->classloader,c,false);
/* ok, this class is somewhat linked */
/* ok, this class is somewhat linked */
@@
-843,14
+846,14
@@
static arraydescriptor *link_array(classinfo *c)
switch (c->name->text[1]) {
case '[':
/* c is an array of arrays. */
switch (c->name->text[1]) {
case '[':
/* c is an array of arrays. */
- u = utf_new
_intern
(c->name->text + 1, namelen - 1);
+ u = utf_new(c->name->text + 1, namelen - 1);
if (!(comp = load_class_from_classloader(u, c->classloader)))
return NULL;
break;
case 'L':
/* c is an array of objects. */
if (!(comp = load_class_from_classloader(u, c->classloader)))
return NULL;
break;
case 'L':
/* c is an array of objects. */
- u = utf_new
_intern
(c->name->text + 2, namelen - 3);
+ u = utf_new(c->name->text + 2, namelen - 3);
if (!(comp = load_class_from_classloader(u, c->classloader)))
return NULL;
break;
if (!(comp = load_class_from_classloader(u, c->classloader)))
return NULL;
break;
@@
-951,7
+954,7
@@
static arraydescriptor *link_array(classinfo *c)
break;
default:
break;
default:
- *exceptionptr = new_
classnotfoundexception
(c->name);
+ *exceptionptr = new_
noclassdeffounderror
(c->name);
return NULL;
}
return NULL;
}