Mercurial > hg > truffle
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 |