src/share/vm/ci/ciSignature.cpp

changeset 2497
3582bf76420e
parent 2314
f95d63e2154a
child 2708
1d1603768966
     1.1 --- a/src/share/vm/ci/ciSignature.cpp	Thu Jan 27 13:42:28 2011 -0800
     1.2 +++ b/src/share/vm/ci/ciSignature.cpp	Thu Jan 27 16:11:27 2011 -0800
     1.3 @@ -47,7 +47,8 @@
     1.4  
     1.5    int size = 0;
     1.6    int count = 0;
     1.7 -  symbolHandle sh (THREAD, symbol->get_symbolOop());
     1.8 +  ResourceMark rm(THREAD);
     1.9 +  Symbol* sh = symbol->get_symbol();
    1.10    SignatureStream ss(sh);
    1.11    for (; ; ss.next()) {
    1.12      // Process one element of the signature
    1.13 @@ -55,14 +56,14 @@
    1.14      if (!ss.is_object()) {
    1.15        type = ciType::make(ss.type());
    1.16      } else {
    1.17 -      symbolOop name = ss.as_symbol(THREAD);
    1.18 +      Symbol* name = ss.as_symbol(THREAD);
    1.19        if (HAS_PENDING_EXCEPTION) {
    1.20          type = ss.is_array() ? (ciType*)ciEnv::unloaded_ciobjarrayklass()
    1.21            : (ciType*)ciEnv::unloaded_ciinstance_klass();
    1.22          env->record_out_of_memory_failure();
    1.23          CLEAR_PENDING_EXCEPTION;
    1.24        } else {
    1.25 -        ciSymbol* klass_name = env->get_object(name)->as_symbol();
    1.26 +        ciSymbol* klass_name = env->get_symbol(name);
    1.27          type = env->get_klass_by_name_impl(_accessing_klass, klass_name, false);
    1.28        }
    1.29      }

mercurial