diff options
Diffstat (limited to 'openjdkjvmti/deopt_manager.cc')
| -rw-r--r-- | openjdkjvmti/deopt_manager.cc | 15 |
1 files changed, 6 insertions, 9 deletions
diff --git a/openjdkjvmti/deopt_manager.cc b/openjdkjvmti/deopt_manager.cc index 312a797b9d..03042eccfd 100644 --- a/openjdkjvmti/deopt_manager.cc +++ b/openjdkjvmti/deopt_manager.cc @@ -61,16 +61,13 @@ namespace openjdkjvmti { -// TODO We should make this much more selective in the future so we only return true when we +// We could make this much more selective in the future so we only return true when we // actually care about the method at this time (ie active frames had locals changed). For now we -// just assume that if anything has changed any frame's locals we care about all methods. If nothing -// has we only care about methods with active breakpoints on them. In the future we should probably -// rewrite all of this to instead do this at the ShadowFrame or thread granularity. -bool JvmtiMethodInspectionCallback::IsMethodBeingInspected(art::ArtMethod* method) { - // In non-java-debuggable runtimes the breakpoint check would miss if we have breakpoints on - // methods that are inlined. Since these features are best effort in non-java-debuggable - // runtimes it is OK to be less precise. For debuggable runtimes, inlining is disabled. - return manager_->HaveLocalsChanged() || manager_->MethodHasBreakpoints(method); +// just assume that if anything has changed any frame's locals we care about all methods. This only +// impacts whether we are able to OSR or not so maybe not really important to maintain frame +// specific information. +bool JvmtiMethodInspectionCallback::HaveLocalsChanged() { + return manager_->HaveLocalsChanged(); } DeoptManager::DeoptManager() |