< prev index next >

src/share/vm/runtime/stubRoutines.hpp

Print this page
rev 12153 : imported patch shared_sb_stub.patch

@@ -122,10 +122,11 @@
   static jint    _fpu_subnormal_bias1[3];
   static jint    _fpu_subnormal_bias2[3];
 
   static BufferBlob* _code1;                               // code buffer for initial routines
   static BufferBlob* _code2;                               // code buffer for all other routines
+  static BufferBlob* _code3;                               // code buffer for barrier routines
 
   // Leaf routines which implement arraycopy and their addresses
   // arraycopy operands aligned on element type boundary
   static address _jbyte_arraycopy;
   static address _jshort_arraycopy;

@@ -230,21 +231,24 @@
 
  public:
   // Initialization/Testing
   static void    initialize1();                            // must happen before universe::genesis
   static void    initialize2();                            // must happen after  universe::genesis
+  static void    initialize3();                            // must happen before interpreter, after  universe::genesis
 
   static bool is_stub_code(address addr)                   { return contains(addr); }
 
   static bool contains(address addr) {
     return
       (_code1 != NULL && _code1->blob_contains(addr)) ||
-      (_code2 != NULL && _code2->blob_contains(addr)) ;
+      (_code2 != NULL && _code2->blob_contains(addr)) ||
+      (_code3 != NULL && _code3->blob_contains(addr)) ;
   }
 
   static RuntimeBlob* code1() { return _code1; }
   static RuntimeBlob* code2() { return _code2; }
+  static RuntimeBlob* code3() { return _code3; }
 
   // Debugging
   static jint    verify_oop_count()                        { return _verify_oop_count; }
   static jint*   verify_oop_count_addr()                   { return &_verify_oop_count; }
   // a subroutine for debugging the GC
< prev index next >