hotspot/src/share/vm/ci/ciMethod.cpp
changeset 10734 065435337883
parent 10506 575ad9bccff5
child 13282 9872915dd78d
equal deleted inserted replaced
10733:49cc61508e86 10734:065435337883
   146 // ------------------------------------------------------------------
   146 // ------------------------------------------------------------------
   147 // ciMethod::ciMethod
   147 // ciMethod::ciMethod
   148 //
   148 //
   149 // Unloaded method.
   149 // Unloaded method.
   150 ciMethod::ciMethod(ciInstanceKlass* holder,
   150 ciMethod::ciMethod(ciInstanceKlass* holder,
   151                    ciSymbol* name,
   151                    ciSymbol*        name,
   152                    ciSymbol* signature) : ciObject(ciMethodKlass::make()) {
   152                    ciSymbol*        signature,
   153   // These fields are always filled in.
   153                    ciInstanceKlass* accessor) :
   154   _name = name;
   154   ciObject(ciMethodKlass::make()),
   155   _holder = holder;
   155   _name(                   name),
   156   _signature = new (CURRENT_ENV->arena()) ciSignature(_holder, constantPoolHandle(), signature);
   156   _holder(                 holder),
   157   _intrinsic_id = vmIntrinsics::_none;
   157   _intrinsic_id(           vmIntrinsics::_none),
   158   _liveness = NULL;
   158   _liveness(               NULL),
   159   _can_be_statically_bound = false;
   159   _can_be_statically_bound(false),
   160   _method_blocks = NULL;
   160   _method_blocks(          NULL),
   161   _method_data = NULL;
   161   _method_data(            NULL)
   162 #if defined(COMPILER2) || defined(SHARK)
   162 #if defined(COMPILER2) || defined(SHARK)
   163   _flow = NULL;
   163   ,
   164   _bcea = NULL;
   164   _flow(                   NULL),
       
   165   _bcea(                   NULL)
   165 #endif // COMPILER2 || SHARK
   166 #endif // COMPILER2 || SHARK
       
   167 {
       
   168   // Usually holder and accessor are the same type but in some cases
       
   169   // the holder has the wrong class loader (e.g. invokedynamic call
       
   170   // sites) so we pass the accessor.
       
   171   _signature = new (CURRENT_ENV->arena()) ciSignature(accessor, constantPoolHandle(), signature);
   166 }
   172 }
   167 
   173 
   168 
   174 
   169 // ------------------------------------------------------------------
   175 // ------------------------------------------------------------------
   170 // ciMethod::load_code
   176 // ciMethod::load_code