changeset 4327:0a2deac0bbfb

8008328: [partfait] Null pointer defererence in hotspot/src/cpu/x86/vm/frame_x86.inline.hpp Summary: add guarantee() to oop_result inlines Reviewed-by: kvn, twisti
author morris
date Sat, 16 Mar 2013 07:40:36 -0700
parents 8b4ce9870fd6
children 9ef47379df20
files src/cpu/x86/vm/frame_x86.inline.hpp
diffstat 1 files changed, 8 insertions(+), 4 deletions(-) [+]
line wrap: on
line diff
--- a/src/cpu/x86/vm/frame_x86.inline.hpp	Sat Mar 16 07:39:57 2013 -0700
+++ b/src/cpu/x86/vm/frame_x86.inline.hpp	Sat Mar 16 07:40:36 2013 -0700
@@ -295,14 +295,18 @@
   return true;
 }
 
+inline oop frame::saved_oop_result(RegisterMap* map) const {
+  oop* result_adr = (oop *)map->location(rax->as_VMReg());
+  guarantee(result_adr != NULL, "bad register save location");
 
-
-inline oop frame::saved_oop_result(RegisterMap* map) const       {
-  return *((oop*) map->location(rax->as_VMReg()));
+  return (*result_adr);
 }
 
 inline void frame::set_saved_oop_result(RegisterMap* map, oop obj) {
-  *((oop*) map->location(rax->as_VMReg())) = obj;
+  oop* result_adr = (oop *)map->location(rax->as_VMReg());
+  guarantee(result_adr != NULL, "bad register save location");
+
+  *result_adr = obj;
 }
 
 #endif // CPU_X86_VM_FRAME_X86_INLINE_HPP