Mercurial > hg > truffle
comparison src/share/vm/oops/methodOop.hpp @ 5176:af59b4dfc9e4
compilation queue changes:
* new CiCompilationStatistics
* added new HotSpot compilation policy (-XX:CompilationPolicyChoice=4)
* compile queue prioritizing (-G:+PriorityCompileQueue)
* low-priority compilation threads (-G:+SlowCompileThreads)
* dynamic compilation thread priority adjustment (-G:+DynamicCompilePriority)
author | Lukas Stadler <lukas.stadler@jku.at> |
---|---|
date | Thu, 29 Mar 2012 18:43:30 +0200 |
parents | 5e9f38419819 |
children | 70f715dfbb41 |
comparison
equal
deleted
inserted
replaced
5175:a8c5283a835c | 5176:af59b4dfc9e4 |
---|---|
129 u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting | 129 u2 _interpreter_throwout_count; // Count of times method was exited via exception while interpreting |
130 u2 _number_of_breakpoints; // fullspeed debugging support | 130 u2 _number_of_breakpoints; // fullspeed debugging support |
131 InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations | 131 InvocationCounter _invocation_counter; // Incremented before each activation of the method - used to trigger frequency-based optimizations |
132 InvocationCounter _backedge_counter; // Incremented before each backedge taken - used to trigger frequencey-based optimizations | 132 InvocationCounter _backedge_counter; // Incremented before each backedge taken - used to trigger frequencey-based optimizations |
133 | 133 |
134 // com/oracle/graal/hotspot/HotSpotMethodResolved mirroring this method | 134 #ifdef GRAAL |
135 oop _graal_mirror; | 135 oop _graal_mirror; // com/oracle/graal/hotspot/HotSpotMethodResolved mirroring this method |
136 jlong _graal_invocation_time; | |
137 int _graal_priority; | |
138 #endif | |
136 #ifdef TIERED | 139 #ifdef TIERED |
137 jlong _prev_time; // Previous time the rate was acquired | 140 jlong _prev_time; // Previous time the rate was acquired |
138 float _rate; // Events (invocation and backedge counter increments) per millisecond | 141 float _rate; // Events (invocation and backedge counter increments) per millisecond |
139 #endif | 142 #endif |
140 | 143 |
331 #endif | 334 #endif |
332 | 335 |
333 int invocation_count(); | 336 int invocation_count(); |
334 int backedge_count(); | 337 int backedge_count(); |
335 | 338 |
339 #ifdef GRAAL | |
336 // graal mirror | 340 // graal mirror |
337 oop graal_mirror() const { return _graal_mirror; } | 341 oop graal_mirror() const { return _graal_mirror; } |
338 void set_graal_mirror(oop m) { oop_store((oop*) &_graal_mirror, m); } | 342 void set_graal_mirror(oop m) { oop_store((oop*) &_graal_mirror, m); } |
343 | |
344 void set_graal_invocation_time(jlong time) { _graal_invocation_time = time; } | |
345 jlong graal_invocation_time() { return _graal_invocation_time; } | |
346 | |
347 void set_graal_priority(int prio) { _graal_priority = prio; } | |
348 int graal_priority() { return _graal_priority; } | |
349 #endif // GRAAL | |
339 | 350 |
340 bool was_executed_more_than(int n); | 351 bool was_executed_more_than(int n); |
341 bool was_never_executed() { return !was_executed_more_than(0); } | 352 bool was_never_executed() { return !was_executed_more_than(0); } |
342 | 353 |
343 static void build_interpreter_method_data(methodHandle method, TRAPS); | 354 static void build_interpreter_method_data(methodHandle method, TRAPS); |
563 static ByteSize backedge_counter_offset() { return byte_offset_of(methodOopDesc, _backedge_counter); } | 574 static ByteSize backedge_counter_offset() { return byte_offset_of(methodOopDesc, _backedge_counter); } |
564 static ByteSize method_data_offset() { | 575 static ByteSize method_data_offset() { |
565 return byte_offset_of(methodOopDesc, _method_data); | 576 return byte_offset_of(methodOopDesc, _method_data); |
566 } | 577 } |
567 static ByteSize interpreter_invocation_counter_offset() { return byte_offset_of(methodOopDesc, _interpreter_invocation_count); } | 578 static ByteSize interpreter_invocation_counter_offset() { return byte_offset_of(methodOopDesc, _interpreter_invocation_count); } |
579 #ifdef GRAAL | |
580 static ByteSize graal_invocation_time_offset() { return byte_offset_of(methodOopDesc, _graal_invocation_time); } | |
581 static ByteSize graal_priority_offset() { return byte_offset_of(methodOopDesc, _graal_priority); } | |
582 #endif | |
568 #ifndef PRODUCT | 583 #ifndef PRODUCT |
569 static ByteSize compiled_invocation_counter_offset() { return byte_offset_of(methodOopDesc, _compiled_invocation_count); } | 584 static ByteSize compiled_invocation_counter_offset() { return byte_offset_of(methodOopDesc, _compiled_invocation_count); } |
570 #endif // not PRODUCT | 585 #endif // not PRODUCT |
571 static ByteSize native_function_offset() { return in_ByteSize(sizeof(methodOopDesc)); } | 586 static ByteSize native_function_offset() { return in_ByteSize(sizeof(methodOopDesc)); } |
572 static ByteSize from_interpreted_offset() { return byte_offset_of(methodOopDesc, _from_interpreted_entry ); } | 587 static ByteSize from_interpreted_offset() { return byte_offset_of(methodOopDesc, _from_interpreted_entry ); } |
728 address* signature_handler_addr() const { return native_function_addr() + 1; } | 743 address* signature_handler_addr() const { return native_function_addr() + 1; } |
729 | 744 |
730 // Garbage collection support | 745 // Garbage collection support |
731 oop* adr_constMethod() const { return (oop*)&_constMethod; } | 746 oop* adr_constMethod() const { return (oop*)&_constMethod; } |
732 oop* adr_constants() const { return (oop*)&_constants; } | 747 oop* adr_constants() const { return (oop*)&_constants; } |
748 oop* adr_method_data() const { return (oop*)&_method_data; } | |
749 #ifdef GRAAL | |
733 oop* adr_graal_mirror() const { return (oop*)&_graal_mirror; } | 750 oop* adr_graal_mirror() const { return (oop*)&_graal_mirror; } |
734 oop* adr_method_data() const { return (oop*)&_method_data; } | 751 #endif |
735 }; | 752 }; |
736 | 753 |
737 | 754 |
738 // Utility class for compressing line number tables | 755 // Utility class for compressing line number tables |
739 | 756 |