comparison src/share/vm/graal/graalCodeInstaller.cpp @ 18177:89f97291c3a5

Hotspot: Support narrow oop relocations in constants section.
author Roland Schatz <roland.schatz@oracle.com>
date Mon, 27 Oct 2014 14:24:02 +0100
parents c2270ad35f57
children 37be28df9dd7
comparison
equal deleted inserted replaced
18176:c2270ad35f57 18177:89f97291c3a5
578 jobject value = JNIHandles::make_local(obj()); 578 jobject value = JNIHandles::make_local(obj());
579 int oop_index = _oop_recorder->find_index(value); 579 int oop_index = _oop_recorder->find_index(value);
580 580
581 address dest = _constants->start() + CompilationResult_Site::pcOffset(patch); 581 address dest = _constants->start() + CompilationResult_Site::pcOffset(patch);
582 if (HotSpotObjectConstant::compressed(constant)) { 582 if (HotSpotObjectConstant::compressed(constant)) {
583 fatal("unexpected compressed oop in data section"); 583 #ifdef _LP64
584 _constants->relocate(dest, oop_Relocation::spec(oop_index), relocInfo::narrow_oop_in_const);
585 #else
586 fatal("unexpected compressed oop in 32-bit mode");
587 #endif
584 } else { 588 } else {
585 _constants->relocate(dest, oop_Relocation::spec(oop_index)); 589 _constants->relocate(dest, oop_Relocation::spec(oop_index));
586 } 590 }
587 } else { 591 } else {
588 ShouldNotReachHere(); 592 ShouldNotReachHere();