< prev index next >

src/hotspot/share/runtime/sharedRuntime.hpp

Print this page
@@ -102,10 +102,12 @@
    // The handle is dereferenced and the return value is the event writer oop.
    static RuntimeStub* generate_jfr_write_checkpoint();
    // For c2: call to runtime to return a buffer lease.
    static RuntimeStub* generate_jfr_return_lease();
  #endif
+   static RuntimeStub* generate_shenandoah_stub(StubId stub_id);
+ 
    static void init_adapter_library();
  
    static const char *stub_name(StubId id) {
      assert(StubInfo::is_shared(id), "not a shared stub %s", StubInfo::name(id));
      return StubInfo::name(id);

@@ -305,10 +307,45 @@
    static address jfr_return_lease()     {
      assert(_jfr_return_lease_blob != nullptr, "");
      return _jfr_return_lease_blob->entry_point();
    }
  #endif
+   static address shenandoah_keepalive() {
+     assert(_shenandoah_keepalive_blob != nullptr, "");
+     return _shenandoah_keepalive_blob->entry_point();
+   }
+ 
+   static address shenandoah_lrb_strong() {
+     assert(_shenandoah_lrb_strong_blob != nullptr, "");
+     return _shenandoah_lrb_strong_blob->entry_point();
+   }
+ 
+   static address shenandoah_lrb_weak() {
+     assert(_shenandoah_lrb_weak_blob != nullptr, "");
+     return _shenandoah_lrb_weak_blob->entry_point();
+   }
+ 
+   static address shenandoah_lrb_phantom() {
+     assert(_shenandoah_lrb_phantom_narrow_blob != nullptr, "");
+     return _shenandoah_lrb_phantom_narrow_blob->entry_point();
+   }
+ 
+   static address shenandoah_lrb_strong_narrow() {
+     assert(_shenandoah_lrb_strong_narrow_blob != nullptr, "");
+     return _shenandoah_lrb_strong_narrow_blob->entry_point();
+   }
+ 
+   static address shenandoah_lrb_weak_narrow() {
+     assert(_shenandoah_lrb_weak_narrow_blob != nullptr, "");
+     return _shenandoah_lrb_weak_narrow_blob->entry_point();
+   }
+ 
+   static address shenandoah_lrb_phantom_narrow() {
+     assert(_shenandoah_lrb_phantom_narrow_blob != nullptr, "");
+     return _shenandoah_lrb_phantom_narrow_blob->entry_point();
+   }
+ 
  
    // Counters
  #ifndef PRODUCT
    static address nof_megamorphic_calls_addr() { return (address)&_nof_megamorphic_calls; }
  #endif // PRODUCT
< prev index next >