comparison src/cpu/ppc/vm/nativeInst_ppc.cpp @ 14433:018b357638aa

8028514: PPC64: Fix C++ Interpreter after '7195622: CheckUnhandledOops has limited usefulness now' Summary: fix CPP-interpreter after CheckUnhandledOops was re-enabled in the fastdebug build Reviewed-by: kvn, dholmes, lfoltan
author simonis
date Tue, 19 Nov 2013 11:53:58 -0800
parents ec28f9c041ff
children 67fa91961822
comparison
equal deleted inserted replaced
14432:935bf3340572 14433:018b357638aa
186 186
187 if (MacroAssembler::is_load_const_at(addr)) { 187 if (MacroAssembler::is_load_const_at(addr)) {
188 return MacroAssembler::get_const(addr); 188 return MacroAssembler::get_const(addr);
189 } else if (MacroAssembler::is_set_narrow_oop(addr, cb->content_begin())) { 189 } else if (MacroAssembler::is_set_narrow_oop(addr, cb->content_begin())) {
190 narrowOop no = (narrowOop)MacroAssembler::get_narrow_oop(addr, cb->content_begin()); 190 narrowOop no = (narrowOop)MacroAssembler::get_narrow_oop(addr, cb->content_begin());
191 return (intptr_t)oopDesc::decode_heap_oop(no); 191 return cast_from_oop<intptr_t>(oopDesc::decode_heap_oop(no));
192 } else { 192 } else {
193 assert(MacroAssembler::is_load_const_from_method_toc_at(addr), "must be load_const_from_pool"); 193 assert(MacroAssembler::is_load_const_from_method_toc_at(addr), "must be load_const_from_pool");
194 194
195 address ctable = cb->content_begin(); 195 address ctable = cb->content_begin();
196 int offset = MacroAssembler::get_offset_of_load_const_from_method_toc_at(addr); 196 int offset = MacroAssembler::get_offset_of_load_const_from_method_toc_at(addr);
256 while (iter.next()) { 256 while (iter.next()) {
257 if (iter.type() == relocInfo::oop_type) { 257 if (iter.type() == relocInfo::oop_type) {
258 oop_Relocation *r = iter.oop_reloc(); 258 oop_Relocation *r = iter.oop_reloc();
259 if (oop_addr == NULL) { 259 if (oop_addr == NULL) {
260 oop_addr = r->oop_addr(); 260 oop_addr = r->oop_addr();
261 *oop_addr = (oop)data; 261 *oop_addr = cast_to_oop(data);
262 } else { 262 } else {
263 assert(oop_addr == r->oop_addr(), "must be only one set-oop here") ; 263 assert(oop_addr == r->oop_addr(), "must be only one set-oop here") ;
264 } 264 }
265 } 265 }
266 if (iter.type() == relocInfo::metadata_type) { 266 if (iter.type() == relocInfo::metadata_type) {