hotspot/src/share/vm/ci/ciMethod.cpp
changeset 27644 f4aa22a934e4
parent 27143 feee4a6106bc
child 28912 27fac2f8fdbe
equal deleted inserted replaced
27643:fe8f95a2d9bc 27644:f4aa22a934e4
    66 
    66 
    67 // ------------------------------------------------------------------
    67 // ------------------------------------------------------------------
    68 // ciMethod::ciMethod
    68 // ciMethod::ciMethod
    69 //
    69 //
    70 // Loaded method.
    70 // Loaded method.
    71 ciMethod::ciMethod(methodHandle h_m) : ciMetadata(h_m()) {
    71 ciMethod::ciMethod(methodHandle h_m, ciInstanceKlass* holder) :
       
    72   ciMetadata(h_m()),
       
    73   _holder(holder)
       
    74 {
    72   assert(h_m() != NULL, "no null method");
    75   assert(h_m() != NULL, "no null method");
    73 
    76 
    74   // These fields are always filled in in loaded methods.
    77   // These fields are always filled in in loaded methods.
    75   _flags = ciFlags(h_m()->access_flags());
    78   _flags = ciFlags(h_m()->access_flags());
    76 
    79 
   122     _can_be_statically_bound = false;
   125     _can_be_statically_bound = false;
   123 
   126 
   124   // generating _signature may allow GC and therefore move m.
   127   // generating _signature may allow GC and therefore move m.
   125   // These fields are always filled in.
   128   // These fields are always filled in.
   126   _name = env->get_symbol(h_m()->name());
   129   _name = env->get_symbol(h_m()->name());
   127   _holder = env->get_instance_klass(h_m()->method_holder());
       
   128   ciSymbol* sig_symbol = env->get_symbol(h_m()->signature());
   130   ciSymbol* sig_symbol = env->get_symbol(h_m()->signature());
   129   constantPoolHandle cpool = h_m()->constants();
   131   constantPoolHandle cpool = h_m()->constants();
   130   _signature = new (env->arena()) ciSignature(_holder, cpool, sig_symbol);
   132   _signature = new (env->arena()) ciSignature(_holder, cpool, sig_symbol);
   131   _method_data = NULL;
   133   _method_data = NULL;
   132   _nmethod_age = h_m()->nmethod_age();
   134   _nmethod_age = h_m()->nmethod_age();