123 // generating _signature may allow GC and therefore move m. |
123 // generating _signature may allow GC and therefore move m. |
124 // These fields are always filled in. |
124 // These fields are always filled in. |
125 _name = env->get_symbol(h_m()->name()); |
125 _name = env->get_symbol(h_m()->name()); |
126 _holder = env->get_object(h_m()->method_holder())->as_instance_klass(); |
126 _holder = env->get_object(h_m()->method_holder())->as_instance_klass(); |
127 ciSymbol* sig_symbol = env->get_symbol(h_m()->signature()); |
127 ciSymbol* sig_symbol = env->get_symbol(h_m()->signature()); |
128 _signature = new (env->arena()) ciSignature(_holder, sig_symbol); |
128 constantPoolHandle cpool = h_m()->constants(); |
|
129 _signature = new (env->arena()) ciSignature(_holder, cpool, sig_symbol); |
129 _method_data = NULL; |
130 _method_data = NULL; |
130 // Take a snapshot of these values, so they will be commensurate with the MDO. |
131 // Take a snapshot of these values, so they will be commensurate with the MDO. |
131 if (ProfileInterpreter || TieredCompilation) { |
132 if (ProfileInterpreter || TieredCompilation) { |
132 int invcnt = h_m()->interpreter_invocation_count(); |
133 int invcnt = h_m()->interpreter_invocation_count(); |
133 // if the value overflowed report it as max int |
134 // if the value overflowed report it as max int |
150 ciSymbol* name, |
151 ciSymbol* name, |
151 ciSymbol* signature) : ciObject(ciMethodKlass::make()) { |
152 ciSymbol* signature) : ciObject(ciMethodKlass::make()) { |
152 // These fields are always filled in. |
153 // These fields are always filled in. |
153 _name = name; |
154 _name = name; |
154 _holder = holder; |
155 _holder = holder; |
155 _signature = new (CURRENT_ENV->arena()) ciSignature(_holder, signature); |
156 _signature = new (CURRENT_ENV->arena()) ciSignature(_holder, constantPoolHandle(), signature); |
156 _intrinsic_id = vmIntrinsics::_none; |
157 _intrinsic_id = vmIntrinsics::_none; |
157 _liveness = NULL; |
158 _liveness = NULL; |
158 _can_be_statically_bound = false; |
159 _can_be_statically_bound = false; |
159 _method_blocks = NULL; |
160 _method_blocks = NULL; |
160 _method_data = NULL; |
161 _method_data = NULL; |