< prev index next >

src/hotspot/cpu/aarch64/compiledIC_aarch64.cpp

Print this page
rev 56543 : 8232046: AArch64 build failure after JDK-8225681
Reviewed-by: duke


 168   verify_mt_safe(callee, entry, method_holder, jump);
 169 #endif
 170 
 171   // Update stub.
 172   method_holder->set_data((intptr_t)callee());
 173   NativeGeneralJump::insert_unconditional(method_holder->next_instruction_address(), entry);
 174   ICache::invalidate_range(stub, to_interp_stub_size());
 175   // Update jump to call.
 176   set_destination_mt_safe(stub);
 177 }
 178 
 179 void CompiledDirectStaticCall::set_stub_to_clean(static_stub_Relocation* static_stub) {
 180   // Reset stub.
 181   address stub = static_stub->addr();
 182   assert(stub != NULL, "stub not found");
 183   assert(CompiledICLocker::is_safe(stub), "mt unsafe call");
 184   // Creation also verifies the object.
 185   NativeMovConstReg* method_holder
 186     = nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
 187   method_holder->set_data(0);




 188 }
 189 
 190 //-----------------------------------------------------------------------------
 191 // Non-product mode code
 192 #ifndef PRODUCT
 193 
 194 void CompiledDirectStaticCall::verify() {
 195   // Verify call.
 196   _call->verify();
 197   _call->verify_alignment();
 198 
 199   // Verify stub.
 200   address stub = find_stub(false /* is_aot */);
 201   assert(stub != NULL, "no stub found for static call");
 202   // Creation also verifies the object.
 203   NativeMovConstReg* method_holder
 204     = nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
 205   NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
 206 
 207   // Verify state.


 168   verify_mt_safe(callee, entry, method_holder, jump);
 169 #endif
 170 
 171   // Update stub.
 172   method_holder->set_data((intptr_t)callee());
 173   NativeGeneralJump::insert_unconditional(method_holder->next_instruction_address(), entry);
 174   ICache::invalidate_range(stub, to_interp_stub_size());
 175   // Update jump to call.
 176   set_destination_mt_safe(stub);
 177 }
 178 
 179 void CompiledDirectStaticCall::set_stub_to_clean(static_stub_Relocation* static_stub) {
 180   // Reset stub.
 181   address stub = static_stub->addr();
 182   assert(stub != NULL, "stub not found");
 183   assert(CompiledICLocker::is_safe(stub), "mt unsafe call");
 184   // Creation also verifies the object.
 185   NativeMovConstReg* method_holder
 186     = nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
 187   method_holder->set_data(0);
 188   if (!static_stub->is_aot()) {
 189     NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
 190     jump->set_jump_destination((address)-1);
 191   }
 192 }
 193 
 194 //-----------------------------------------------------------------------------
 195 // Non-product mode code
 196 #ifndef PRODUCT
 197 
 198 void CompiledDirectStaticCall::verify() {
 199   // Verify call.
 200   _call->verify();
 201   _call->verify_alignment();
 202 
 203   // Verify stub.
 204   address stub = find_stub(false /* is_aot */);
 205   assert(stub != NULL, "no stub found for static call");
 206   // Creation also verifies the object.
 207   NativeMovConstReg* method_holder
 208     = nativeMovConstReg_at(stub + NativeInstruction::instruction_size);
 209   NativeJump* jump = nativeJump_at(method_holder->next_instruction_address());
 210 
 211   // Verify state.
< prev index next >