8148195: Some InstanceKlass and MethodCounters fields can be excluded when JVMTI is not supported

Removed "previous version", "cached class file",  and breakpoint related fields and code when JVMTI is not supported

Reviewed-by: coleenp, sspitsyn
This commit is contained in:
Chris Plummer 2016-04-21 20:49:11 -07:00
parent d1b219ba3c
commit 7cd3700010
10 changed files with 103 additions and 18 deletions

View file

@ -195,8 +195,18 @@ class Method : public Metadata {
}
// JVMTI breakpoints
#if !INCLUDE_JVMTI
Bytecodes::Code orig_bytecode_at(int bci) const {
ShouldNotReachHere();
return Bytecodes::_shouldnotreachhere;
}
void set_orig_bytecode_at(int bci, Bytecodes::Code code) {
ShouldNotReachHere();
};
u2 number_of_breakpoints() const {return 0;}
#else // !INCLUDE_JVMTI
Bytecodes::Code orig_bytecode_at(int bci) const;
void set_orig_bytecode_at(int bci, Bytecodes::Code code);
void set_orig_bytecode_at(int bci, Bytecodes::Code code);
void set_breakpoint(int bci);
void clear_breakpoint(int bci);
void clear_all_breakpoints();
@ -229,6 +239,7 @@ class Method : public Metadata {
mcs->clear_number_of_breakpoints();
}
}
#endif // !INCLUDE_JVMTI
// index into InstanceKlass methods() array
// note: also used by jfr
@ -1046,6 +1057,8 @@ class CompressedLineNumberReadStream: public CompressedReadStream {
};
#if INCLUDE_JVMTI
/// Fast Breakpoints.
// If this structure gets more complicated (because bpts get numerous),
@ -1090,6 +1103,8 @@ class BreakpointInfo : public CHeapObj<mtClass> {
void clear(Method* method);
};
#endif // INCLUDE_JVMTI
// Utility class for access exception handlers
class ExceptionTable : public StackObj {
private: