equal
deleted
inserted
replaced
390 } |
390 } |
391 } |
391 } |
392 |
392 |
393 oop SignatureStream::as_java_mirror(Handle class_loader, Handle protection_domain, |
393 oop SignatureStream::as_java_mirror(Handle class_loader, Handle protection_domain, |
394 FailureMode failure_mode, TRAPS) { |
394 FailureMode failure_mode, TRAPS) { |
395 if (!is_object()) |
395 if (raw_length() == 1) { |
396 return Universe::java_mirror(type()); |
396 // short-cut in a common case |
397 Klass* klass = as_klass(class_loader, protection_domain, failure_mode, CHECK_NULL); |
397 return SystemDictionary::find_java_mirror_for_type((char) raw_byte_at(0)); |
398 if (klass == NULL) return NULL; |
398 } |
399 return klass->java_mirror(); |
399 TempNewSymbol signature = SymbolTable::new_symbol(_signature, _begin, _end, CHECK_NULL); |
|
400 Klass* no_accessing_klass = NULL; |
|
401 Handle mirror = SystemDictionary::find_java_mirror_for_type(signature, |
|
402 no_accessing_klass, |
|
403 class_loader, |
|
404 protection_domain, |
|
405 failure_mode, |
|
406 CHECK_NULL); |
|
407 return mirror(); |
400 } |
408 } |
401 |
409 |
402 Symbol* SignatureStream::as_symbol_or_null() { |
410 Symbol* SignatureStream::as_symbol_or_null() { |
403 // Create a symbol from for string _begin _end |
411 // Create a symbol from for string _begin _end |
404 ResourceMark rm; |
412 ResourceMark rm; |