equal
deleted
inserted
replaced
43 oop str = *(oop*)string_result; // Is it resolved already? |
43 oop str = *(oop*)string_result; // Is it resolved already? |
44 if (str == NULL) { // Do resolution |
44 if (str == NULL) { // Do resolution |
45 // First 2 bytes of name contains length (number of bytes). |
45 // First 2 bytes of name contains length (number of bytes). |
46 int len = Bytes::get_Java_u2((address)name); |
46 int len = Bytes::get_Java_u2((address)name); |
47 name += 2; |
47 name += 2; |
48 str = StringTable::intern(name, CHECK); |
48 TempNewSymbol sym = SymbolTable::new_symbol(name, len); |
|
49 str = StringTable::intern(sym, CHECK); |
49 assert(java_lang_String::is_instance(str), "must be string"); |
50 assert(java_lang_String::is_instance(str), "must be string"); |
50 *(oop*)string_result = str; // Store result |
51 *(oop*)string_result = str; // Store result |
51 } |
52 } |
52 assert(str != NULL, "Should be allocated!"); |
53 assert(str != NULL, "Should be allocated!"); |
53 thread->set_vm_result(str); |
54 thread->set_vm_result(str); |