comparison src/share/vm/oops/methodOop.hpp @ 3011:f00918f35c7f

inlining and runtime interface related changes: added codeSize() and compilerStorage() to RiMethod HotSpotMethodResolved uses reflective methods instead of vmIds and survives compilations HotSpotResolvedType.isInitialized not represented as field (can change) inlining stores graphs into method objects and reuses them
author Lukas Stadler <lukas.stadler@jku.at>
date Thu, 16 Jun 2011 20:36:17 +0200
parents 38fea01eb669
children be4ca325525a
comparison
equal deleted inserted replaced
2993:3671e31615c9 3011:f00918f35c7f
127 u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting 127 u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting
128 u2 _number_of_breakpoints; // fullspeed debugging support 128 u2 _number_of_breakpoints; // fullspeed debugging support
129 InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations 129 InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations
130 InvocationCounter _backedge_counter; // Incremented before each backedge taken - used to trigger frequencey-based optimizations 130 InvocationCounter _backedge_counter; // Incremented before each backedge taken - used to trigger frequencey-based optimizations
131 131
132 // com/oracle/max/graal/runtime/HotSpotMethodResolved mirroring this method
133 oop _graal_mirror;
132 #ifdef TIERED 134 #ifdef TIERED
133 jlong _prev_time; // Previous time the rate was acquired 135 jlong _prev_time; // Previous time the rate was acquired
134 float _rate; // Events (invocation and backedge counter increments) per millisecond 136 float _rate; // Events (invocation and backedge counter increments) per millisecond
135 #endif 137 #endif
136 138
326 #endif 328 #endif
327 329
328 int invocation_count(); 330 int invocation_count();
329 int backedge_count(); 331 int backedge_count();
330 332
333 // graal mirror
334 oop graal_mirror() const { return _graal_mirror; }
335 void set_graal_mirror(oop m) { oop_store((oop*) &_graal_mirror, m); }
336
331 bool was_executed_more_than(int n); 337 bool was_executed_more_than(int n);
332 bool was_never_executed() { return !was_executed_more_than(0); } 338 bool was_never_executed() { return !was_executed_more_than(0); }
333 339
334 static void build_interpreter_method_data(methodHandle method, TRAPS); 340 static void build_interpreter_method_data(methodHandle method, TRAPS);
335 341
713 address* signature_handler_addr() const { return native_function_addr() + 1; } 719 address* signature_handler_addr() const { return native_function_addr() + 1; }
714 720
715 // Garbage collection support 721 // Garbage collection support
716 oop* adr_constMethod() const { return (oop*)&_constMethod; } 722 oop* adr_constMethod() const { return (oop*)&_constMethod; }
717 oop* adr_constants() const { return (oop*)&_constants; } 723 oop* adr_constants() const { return (oop*)&_constants; }
724 oop* adr_graal_mirror() const { return (oop*)&_graal_mirror; }
718 oop* adr_method_data() const { return (oop*)&_method_data; } 725 oop* adr_method_data() const { return (oop*)&_method_data; }
719 }; 726 };
720 727
721 728
722 // Utility class for compressing line number tables 729 // Utility class for compressing line number tables