Mercurial > hg > graal-jvmci-8
comparison src/share/vm/ci/ciMethod.hpp @ 6988:2cb439954abf
Merge with http://hg.openjdk.java.net/hsx/hsx25/hotspot/
author | Gilles Duboscq <duboscq@ssw.jku.at> |
---|---|
date | Mon, 19 Nov 2012 15:36:13 +0100 |
parents | bb33c6fdcf0d |
children | beebba0acc11 |
comparison
equal
deleted
inserted
replaced
6963:dd0dd0321e2a | 6988:2cb439954abf |
---|---|
49 CI_PACKAGE_ACCESS | 49 CI_PACKAGE_ACCESS |
50 friend class ciEnv; | 50 friend class ciEnv; |
51 friend class ciExceptionHandlerStream; | 51 friend class ciExceptionHandlerStream; |
52 friend class ciBytecodeStream; | 52 friend class ciBytecodeStream; |
53 friend class ciMethodHandle; | 53 friend class ciMethodHandle; |
54 friend class ciReplay; | |
54 | 55 |
55 private: | 56 private: |
56 // General method information. | 57 // General method information. |
57 ciFlags _flags; | 58 ciFlags _flags; |
58 ciSymbol* _name; | 59 ciSymbol* _name; |
67 int _max_locals; | 68 int _max_locals; |
68 vmIntrinsics::ID _intrinsic_id; | 69 vmIntrinsics::ID _intrinsic_id; |
69 int _handler_count; | 70 int _handler_count; |
70 int _interpreter_invocation_count; | 71 int _interpreter_invocation_count; |
71 int _interpreter_throwout_count; | 72 int _interpreter_throwout_count; |
73 int _instructions_size; | |
72 | 74 |
73 bool _uses_monitors; | 75 bool _uses_monitors; |
74 bool _balanced_monitors; | 76 bool _balanced_monitors; |
75 bool _is_c1_compilable; | 77 bool _is_c1_compilable; |
76 bool _is_c2_compilable; | 78 bool _is_c2_compilable; |
237 | 239 |
238 // Find the proper vtable index to invoke this method. | 240 // Find the proper vtable index to invoke this method. |
239 int resolve_vtable_index(ciKlass* caller, ciKlass* receiver); | 241 int resolve_vtable_index(ciKlass* caller, ciKlass* receiver); |
240 | 242 |
241 // Compilation directives | 243 // Compilation directives |
242 bool will_link(ciKlass* accessing_klass, | |
243 ciKlass* declared_method_holder, | |
244 Bytecodes::Code bc); | |
245 bool should_exclude(); | 244 bool should_exclude(); |
246 bool should_inline(); | 245 bool should_inline(); |
247 bool should_not_inline(); | 246 bool should_not_inline(); |
248 bool should_print_assembly(); | 247 bool should_print_assembly(); |
249 bool break_at_execute(); | 248 bool break_at_execute(); |
250 bool has_option(const char *option); | 249 bool has_option(const char *option); |
251 bool can_be_compiled(); | 250 bool can_be_compiled(); |
252 bool can_be_osr_compiled(int entry_bci); | 251 bool can_be_osr_compiled(int entry_bci); |
253 void set_not_compilable(); | 252 void set_not_compilable(); |
254 bool has_compiled_code(); | 253 bool has_compiled_code(); |
255 int instructions_size(int comp_level = CompLevel_any); | |
256 void log_nmethod_identity(xmlStream* log); | 254 void log_nmethod_identity(xmlStream* log); |
257 bool is_not_reached(int bci); | 255 bool is_not_reached(int bci); |
258 bool was_executed_more_than(int times); | 256 bool was_executed_more_than(int times); |
259 bool has_unloaded_classes_in_signature(); | 257 bool has_unloaded_classes_in_signature(); |
260 bool is_klass_loaded(int refinfo_index, bool must_be_resolved) const; | 258 bool is_klass_loaded(int refinfo_index, bool must_be_resolved) const; |
261 bool check_call(int refinfo_index, bool is_static) const; | 259 bool check_call(int refinfo_index, bool is_static) const; |
262 bool ensure_method_data(); // make sure it exists in the VM also | 260 bool ensure_method_data(); // make sure it exists in the VM also |
261 int instructions_size(); | |
263 int scale_count(int count, float prof_factor = 1.); // make MDO count commensurate with IIC | 262 int scale_count(int count, float prof_factor = 1.); // make MDO count commensurate with IIC |
264 | 263 |
265 // JSR 292 support | 264 // JSR 292 support |
266 bool is_method_handle_intrinsic() const; | 265 bool is_method_handle_intrinsic() const; |
267 bool is_compiled_lambda_form() const; | 266 bool is_compiled_lambda_form() const; |
289 bool has_loops () const; | 288 bool has_loops () const; |
290 bool has_jsrs () const; | 289 bool has_jsrs () const; |
291 bool is_accessor () const; | 290 bool is_accessor () const; |
292 bool is_initializer () const; | 291 bool is_initializer () const; |
293 bool can_be_statically_bound() const { return _can_be_statically_bound; } | 292 bool can_be_statically_bound() const { return _can_be_statically_bound; } |
293 void dump_replay_data(outputStream* st); | |
294 | 294 |
295 // Print the bytecodes of this method. | 295 // Print the bytecodes of this method. |
296 void print_codes_on(outputStream* st); | 296 void print_codes_on(outputStream* st); |
297 void print_codes() { | 297 void print_codes() { |
298 print_codes_on(tty); | 298 print_codes_on(tty); |