src/hotspot/share/jvmci/compilerRuntime.cpp
changeset 54847 59ea39bb2809
parent 53582 881c5fbeb849
child 54892 eedc3db527ac
equal deleted inserted replaced
54846:e4049522b074 54847:59ea39bb2809
    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       TempNewSymbol sym = SymbolTable::new_symbol(name, len, CHECK);
    48       str = StringTable::intern(name, CHECK);
    49       str = StringTable::intern(sym, CHECK);
       
    50       assert(java_lang_String::is_instance(str), "must be string");
    49       assert(java_lang_String::is_instance(str), "must be string");
    51       *(oop*)string_result = str; // Store result
    50       *(oop*)string_result = str; // Store result
    52     }
    51     }
    53     assert(str != NULL, "Should be allocated!");
    52     assert(str != NULL, "Should be allocated!");
    54     thread->set_vm_result(str);
    53     thread->set_vm_result(str);
    76   if (name[0] == 'L') {
    75   if (name[0] == 'L') {
    77     assert(len > 2, "small name %s", name);
    76     assert(len > 2, "small name %s", name);
    78     name++;
    77     name++;
    79     len -= 2;
    78     len -= 2;
    80   }
    79   }
    81   TempNewSymbol sym = SymbolTable::new_symbol(name, len, CHECK_NULL);
    80   TempNewSymbol sym = SymbolTable::new_symbol(name, len);
    82   if (sym == NULL) {
    81   if (sym == NULL) {
    83     return NULL;
    82     return NULL;
    84   }
    83   }
    85   Klass* k = SystemDictionary::resolve_or_fail(sym, loader, protection_domain, true, CHECK_NULL);
    84   Klass* k = SystemDictionary::resolve_or_fail(sym, loader, protection_domain, true, CHECK_NULL);
    86 
    85