< prev index next > src/hotspot/cpu/x86/templateInterpreterGenerator_x86.cpp
Print this page
generate_and_dispatch(t);
}
//-----------------------------------------------------------------------------
+ void TemplateInterpreterGenerator::count_bytecode() {
+ #ifdef _LP64
+ __ incrementq(ExternalAddress((address) &BytecodeCounter::_counter_value), rscratch1);
+ #else
+ Unimplemented();
+ #endif
+ }
+
+ void TemplateInterpreterGenerator::histogram_bytecode(Template* t) {
+ __ incrementl(ExternalAddress((address) &BytecodeHistogram::_counters[t->bytecode()]), rscratch1);
+ }
+
// Non-product code
#ifndef PRODUCT
address TemplateInterpreterGenerator::generate_trace_code(TosState state) {
address entry = __ pc();
#endif // _LP64
return entry;
}
- void TemplateInterpreterGenerator::count_bytecode() {
- __ incrementl(ExternalAddress((address) &BytecodeCounter::_counter_value), rscratch1);
- }
-
- void TemplateInterpreterGenerator::histogram_bytecode(Template* t) {
- __ incrementl(ExternalAddress((address) &BytecodeHistogram::_counters[t->bytecode()]), rscratch1);
- }
-
void TemplateInterpreterGenerator::histogram_bytecode_pair(Template* t) {
__ mov32(rbx, ExternalAddress((address) &BytecodePairHistogram::_index));
__ shrl(rbx, BytecodePairHistogram::log2_number_of_codes);
__ orl(rbx,
((int) t->bytecode()) <<
< prev index next >