Mercurial > hg > graal-compiler
changeset 8762: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