Mercurial > hg > graal-compiler
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(); |