< prev index next >

src/hotspot/share/memory/universe.hpp

Print this page
*** 115,15 ***
--- 115,19 ---
    static LatestMethodCache* _finalizer_register_cache; // static method for registering finalizable objects
    static LatestMethodCache* _loader_addClass_cache;    // method for registering loaded classes in class loader vector
    static LatestMethodCache* _throw_illegal_access_error_cache; // Unsafe.throwIllegalAccessError() method
    static LatestMethodCache* _throw_no_such_method_error_cache; // Unsafe.throwNoSuchMethodError() method
    static LatestMethodCache* _do_stack_walk_cache;      // method for stack walker callback
+   static LatestMethodCache* _is_substitutable_cache;   // PrimitiveObjectMethods.isSubstitutable() method
+   static LatestMethodCache* _primitive_type_hash_code_cache;  // PrimitiveObjectMethods.primitiveObjectHashCode() method
  
    static Array<int>*            _the_empty_int_array;            // Canonicalized int array
    static Array<u2>*             _the_empty_short_array;          // Canonicalized short array
    static Array<Klass*>*         _the_empty_klass_array;          // Canonicalized klass array
    static Array<InstanceKlass*>* _the_empty_instance_klass_array; // Canonicalized instance klass array
+   static Array<InstanceKlass*>* _the_single_IdentityObject_klass_array;  // Common single interface array for IdentityObjects
+   static Array<InstanceKlass*>* _the_single_PrimitiveObject_klass_array; // Common single interface array for PrimitiveObjects
    static Array<Method*>*        _the_empty_method_array;         // Canonicalized method array
  
    static Array<Klass*>*  _the_array_interfaces_array;
  
    // array of preallocated error objects with backtrace

*** 142,10 ***
--- 146,11 ---
    // The particular choice of collected heap.
    static CollectedHeap* _collectedHeap;
  
    static intptr_t _non_oop_bits;
  
+ 
    // array of dummy objects used with +FullGCAlot
    debug_only(static OopHandle   _fullgc_alot_dummy_array;)
    debug_only(static int         _fullgc_alot_dummy_next;)
  
    // Compiler/dispatch support

*** 252,10 ***
--- 257,13 ---
    static Method*      throw_illegal_access_error()    { return _throw_illegal_access_error_cache->get_method(); }
    static Method*      throw_no_such_method_error()    { return _throw_no_such_method_error_cache->get_method(); }
  
    static Method*      do_stack_walk_method()          { return _do_stack_walk_cache->get_method(); }
  
+   static Method*      is_substitutable_method()       { return _is_substitutable_cache->get_method(); }
+   static Method*      primitive_type_hash_code_method()  { return _primitive_type_hash_code_cache->get_method(); }
+ 
    static oop          the_null_sentinel();
    static address      the_null_sentinel_addr()        { return (address) &_the_null_sentinel;  }
  
    // Function to initialize these
    static void initialize_known_methods(TRAPS);

*** 276,10 ***
--- 284,22 ---
    static Array<int>*             the_empty_int_array()    { return _the_empty_int_array; }
    static Array<u2>*              the_empty_short_array()  { return _the_empty_short_array; }
    static Array<Method*>*         the_empty_method_array() { return _the_empty_method_array; }
    static Array<Klass*>*          the_empty_klass_array()  { return _the_empty_klass_array; }
    static Array<InstanceKlass*>*  the_empty_instance_klass_array() { return _the_empty_instance_klass_array; }
+   static Array<InstanceKlass*>*  the_single_IdentityObject_klass_array() {
+     assert(_the_single_IdentityObject_klass_array != NULL, "Must be initialized before use");
+     assert(_the_single_IdentityObject_klass_array->length() == 1, "Sanity check");
+     return _the_single_IdentityObject_klass_array;
+   }
+   static void initialize_the_single_IdentityObject_klass_array(InstanceKlass* ik, TRAPS);
+   static Array<InstanceKlass*>*  the_single_PrimitiveObject_klass_array() {
+     assert(_the_single_PrimitiveObject_klass_array != NULL, "Must be initialized before use");
+     assert(_the_single_PrimitiveObject_klass_array->length() == 1, "Sanity check");
+     return _the_single_PrimitiveObject_klass_array;
+   }
+   static void initialize_the_single_PrimitiveObject_klass_array(InstanceKlass* ik, TRAPS);
  
    // OutOfMemoryError support. Returns an error with the required message. The returned error
    // may or may not have a backtrace. If error has a backtrace then the stack trace is already
    // filled in.
    static oop out_of_memory_error_java_heap();
< prev index next >