# HG changeset patch # User thartmann # Date 1522221165 -7200 # Node ID 5555ba8fcc5ca529d56a215b586537ab702bcfc6 # Parent c96f6f8984f74da52e40fbff1371ea05af5a86d9 8200290: Scratch buffer creation fails with "assert(!current_thread_in_native()) failed: must not be in native" on SPARC Summary: The code needs to be changed after JDK-8167372 to transition from native. Reviewed-by: kvn diff -r c96f6f8984f7 -r 5555ba8fcc5c src/hotspot/cpu/sparc/macroAssembler_sparc.cpp --- a/src/hotspot/cpu/sparc/macroAssembler_sparc.cpp Tue Mar 27 18:31:25 2018 +0200 +++ b/src/hotspot/cpu/sparc/macroAssembler_sparc.cpp Wed Mar 28 09:12:45 2018 +0200 @@ -998,8 +998,13 @@ AddressLiteral MacroAssembler::constant_oop_address(jobject obj) { - assert(oop_recorder() != NULL, "this assembler needs an OopRecorder"); - assert(Universe::heap()->is_in_reserved(JNIHandles::resolve(obj)), "not an oop"); +#ifdef ASSERT + { + ThreadInVMfromUnknown tiv; + assert(oop_recorder() != NULL, "this assembler needs an OopRecorder"); + assert(Universe::heap()->is_in_reserved(JNIHandles::resolve(obj)), "not an oop"); + } +#endif int oop_index = oop_recorder()->find_index(obj); return AddressLiteral(obj, oop_Relocation::spec(oop_index)); }