< prev index next >

src/hotspot/share/c1/c1_CodeStubs.hpp

Print this page

        

@@ -57,10 +57,11 @@
   virtual CodeEmitInfo* info() const             { return NULL; }
   virtual bool is_exception_throw_stub() const   { return false; }
   virtual bool is_range_check_stub() const       { return false; }
   virtual bool is_divbyzero_stub() const         { return false; }
   virtual bool is_simple_exception_stub() const  { return false; }
+  virtual int nr_immediate_oops_patched() const  { return 0; }
 #ifndef PRODUCT
   virtual void print_name(outputStream* out) const = 0;
 #endif
 
   // label access

@@ -399,10 +400,17 @@
     align_patch_site(masm);
     _pc_start = masm->pc();
     masm->bind(_patch_site_entry);
   }
 
+  virtual int nr_immediate_oops_patched() const  { 
+    if (_id == load_mirror_id || _id == load_appendix_id) {
+      return 1;
+    }
+    return 0; 
+  }
+
   void install(MacroAssembler* masm, LIR_PatchCode patch_code, Register obj, CodeEmitInfo* info) {
     _info = info;
     _obj = obj;
     masm->bind(_patch_site_continuation);
     _bytes_to_copy = masm->pc() - pc_start();
< prev index next >