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