310 bool is_call_to_interpreted() const;
311
312 // Clean static call (will force resolving on next use)
313 void set_to_clean();
314
315 // Set state. The entry must be the same, as computed by compute_entry.
316 // Computation and setting is split up, since the actions are separate during
317 // a OptoRuntime::resolve_xxx.
318 void set(const StaticCallInfo& info);
319
320 // Compute entry point given a method
321 static void compute_entry(methodHandle m, StaticCallInfo& info);
322
323 // Stub support
324 address find_stub();
325 static void set_stub_to_clean(static_stub_Relocation* static_stub);
326
327 // Misc.
328 void print() PRODUCT_RETURN;
329 void verify() PRODUCT_RETURN;
330 };
331
332
333 inline CompiledStaticCall* compiledStaticCall_before(address return_addr) {
334 CompiledStaticCall* st = (CompiledStaticCall*)nativeCall_before(return_addr);
335 st->verify();
336 return st;
337 }
338
339 inline CompiledStaticCall* compiledStaticCall_at(address native_call) {
340 CompiledStaticCall* st = (CompiledStaticCall*)native_call;
341 st->verify();
342 return st;
343 }
344
345 inline CompiledStaticCall* compiledStaticCall_at(Relocation* call_site) {
346 return compiledStaticCall_at(call_site->addr());
347 }
348
349 #endif // SHARE_VM_CODE_COMPILEDIC_HPP
|
310 bool is_call_to_interpreted() const;
311
312 // Clean static call (will force resolving on next use)
313 void set_to_clean();
314
315 // Set state. The entry must be the same, as computed by compute_entry.
316 // Computation and setting is split up, since the actions are separate during
317 // a OptoRuntime::resolve_xxx.
318 void set(const StaticCallInfo& info);
319
320 // Compute entry point given a method
321 static void compute_entry(methodHandle m, StaticCallInfo& info);
322
323 // Stub support
324 address find_stub();
325 static void set_stub_to_clean(static_stub_Relocation* static_stub);
326
327 // Misc.
328 void print() PRODUCT_RETURN;
329 void verify() PRODUCT_RETURN;
330
331 // Offset of start of compiled java to interpreter stub to the load
332 // constant that loads the inline cache (IC). See ad file.
333 static const int comp_to_int_load_offset;
334 };
335
336
337 inline CompiledStaticCall* compiledStaticCall_before(address return_addr) {
338 CompiledStaticCall* st = (CompiledStaticCall*)nativeCall_before(return_addr);
339 st->verify();
340 return st;
341 }
342
343 inline CompiledStaticCall* compiledStaticCall_at(address native_call) {
344 CompiledStaticCall* st = (CompiledStaticCall*)native_call;
345 st->verify();
346 return st;
347 }
348
349 inline CompiledStaticCall* compiledStaticCall_at(Relocation* call_site) {
350 return compiledStaticCall_at(call_site->addr());
351 }
352
353 #endif // SHARE_VM_CODE_COMPILEDIC_HPP
|