changeset 12321:431caa270a51

8169941: CodeBlob::is_frame_complete_at() does not honor CodeOffsets::frame_never_safe Summary: CodeBlob::is_frame_complete_at() should always return false if _frame_complete_offset is set to CodeOffsets::frame_never_safe (-1). Reviewed-by: kvn, dlong
author thartmann
date Mon, 21 Nov 2016 09:33:06 +0100
parents 3f551de87e59
children 42a27dc44adc
files src/share/vm/code/codeBlob.hpp
diffstat 1 files changed, 2 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/share/vm/code/codeBlob.hpp	Mon Nov 21 08:27:10 2016 +0100
+++ b/src/share/vm/code/codeBlob.hpp	Mon Nov 21 09:33:06 2016 +0100
@@ -159,7 +159,8 @@
   bool blob_contains(address addr) const         { return header_begin()       <= addr && addr < data_end();       }
   bool code_contains(address addr) const         { return code_begin()         <= addr && addr < code_end();       }
   bool contains(address addr) const              { return content_begin()      <= addr && addr < content_end();    }
-  bool is_frame_complete_at(address addr) const  { return code_contains(addr) && addr >= code_begin() + _frame_complete_offset; }
+  bool is_frame_complete_at(address addr) const  { return _frame_complete_offset != CodeOffsets::frame_never_safe &&
+                                                          code_contains(addr) && addr >= code_begin() + _frame_complete_offset; }
 
   // CodeCache support: really only used by the nmethods, but in order to get
   // asserts and certain bookkeeping to work in the CodeCache they are defined