hotspot/src/cpu/arm/vm/compiledIC_arm.cpp
changeset 43966 49d84b4ab981
parent 42664 29142a56c193
equal deleted inserted replaced
43964:2f5e556a6037 43966:49d84b4ab981
    83   __ end_a_stub();
    83   __ end_a_stub();
    84   return base;
    84   return base;
    85 }
    85 }
    86 #undef __
    86 #undef __
    87 
    87 
    88 // size of C2 call stub, compiled java to interpretor
       
    89 int CompiledStaticCall::to_interp_stub_size() {
       
    90   return 8 * NativeInstruction::instruction_size;
       
    91 }
       
    92 
       
    93 // Relocation entries for call stub, compiled java to interpreter.
    88 // Relocation entries for call stub, compiled java to interpreter.
    94 int CompiledStaticCall::reloc_to_interp_stub() {
    89 int CompiledStaticCall::reloc_to_interp_stub() {
    95   return 10;  // 4 in emit_to_interp_stub + 1 in Java_Static_Call
    90   return 10;  // 4 in emit_to_interp_stub + 1 in Java_Static_Call
    96 }
    91 }
    97 #endif // COMPILER2 || JVMCI
    92 #endif // COMPILER2 || JVMCI
       
    93 
       
    94 // size of C2 call stub, compiled java to interpretor
       
    95 int CompiledStaticCall::to_interp_stub_size() {
       
    96   return 8 * NativeInstruction::instruction_size;
       
    97 }
    98 
    98 
    99 void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, address entry) {
    99 void CompiledDirectStaticCall::set_to_interpreted(const methodHandle& callee, address entry) {
   100   address stub = find_stub(/*is_aot*/ false);
   100   address stub = find_stub(/*is_aot*/ false);
   101   guarantee(stub != NULL, "stub not found");
   101   guarantee(stub != NULL, "stub not found");
   102 
   102 
   122 #endif
   122 #endif
   123 
   123 
   124   // Update stub.
   124   // Update stub.
   125   method_holder->set_data((intptr_t)callee());
   125   method_holder->set_data((intptr_t)callee());
   126   jump->set_jump_destination(entry);
   126   jump->set_jump_destination(entry);
       
   127 
       
   128   ICache::invalidate_range(stub, to_interp_stub_size());
   127 
   129 
   128   // Update jump to call.
   130   // Update jump to call.
   129   set_destination_mt_safe(stub);
   131   set_destination_mt_safe(stub);
   130 }
   132 }
   131 
   133