Mercurial > hg > graal-compiler
comparison src/share/vm/ci/ciMethod.cpp @ 3461:81d815b05abb
7056328: JSR 292 invocation sometimes fails in adapters for types not on boot class path
Reviewed-by: never
author | jrose |
---|---|
date | Thu, 23 Jun 2011 17:14:06 -0700 |
parents | 8033953d67ff |
children | 47edfca346ab 2c359f27615c |
comparison
equal
deleted
inserted
replaced
3460:e9b51b4bdcc7 | 3461:81d815b05abb |
---|---|
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; |