Print this page


Split Close
Expand all
Collapse all
          --- old/src/share/vm/opto/runtime.hpp
          +++ new/src/share/vm/opto/runtime.hpp
↓ open down ↓ 110 lines elided ↑ open up ↑
 111  111    // define stubs
 112  112    static address generate_stub(ciEnv* ci_env, TypeFunc_generator gen, address C_function, const char *name, int is_fancy_jump, bool pass_tls, bool save_arguments, bool return_pc);
 113  113  
 114  114    // References to generated stubs
 115  115    static address _new_instance_Java;
 116  116    static address _new_array_Java;
 117  117    static address _multianewarray2_Java;
 118  118    static address _multianewarray3_Java;
 119  119    static address _multianewarray4_Java;
 120  120    static address _multianewarray5_Java;
      121 +  static address _multianewarrayN_Java;
 121  122    static address _g1_wb_pre_Java;
 122  123    static address _g1_wb_post_Java;
 123  124    static address _vtable_must_compile_Java;
 124  125    static address _complete_monitor_locking_Java;
 125  126    static address _rethrow_Java;
 126  127  
 127  128    static address _slow_arraycopy_Java;
 128  129    static address _register_finalizer_Java;
 129  130  
 130  131  # ifdef ENABLE_ZAP_DEAD_LOCALS
↓ open down ↓ 15 lines elided ↑ open up ↑
 146  147    // Post-slow-path-allocation, pre-initializing-stores step for
 147  148    // implementing ReduceInitialCardMarks
 148  149    static void new_store_pre_barrier(JavaThread* thread);
 149  150  
 150  151    // Allocate storage for a multi-dimensional arrays
 151  152    // Note: needs to be fixed for arbitrary number of dimensions
 152  153    static void multianewarray2_C(klassOopDesc* klass, int len1, int len2, JavaThread *thread);
 153  154    static void multianewarray3_C(klassOopDesc* klass, int len1, int len2, int len3, JavaThread *thread);
 154  155    static void multianewarray4_C(klassOopDesc* klass, int len1, int len2, int len3, int len4, JavaThread *thread);
 155  156    static void multianewarray5_C(klassOopDesc* klass, int len1, int len2, int len3, int len4, int len5, JavaThread *thread);
      157 +  static void multianewarrayN_C(klassOopDesc* klass, arrayOopDesc* dims, JavaThread *thread);
 156  158    static void g1_wb_pre_C(oopDesc* orig, JavaThread* thread);
 157  159    static void g1_wb_post_C(void* card_addr, JavaThread* thread);
 158  160  
 159  161  public:
 160  162    // Slow-path Locking and Unlocking
 161  163    static void complete_monitor_locking_C(oopDesc* obj, BasicLock* lock, JavaThread* thread);
 162  164    static void complete_monitor_unlocking_C(oopDesc* obj, BasicLock* lock);
 163  165  
 164  166  private:
 165  167  
↓ open down ↓ 37 lines elided ↑ open up ↑
 203  205    // Returns the name of a stub
 204  206    static const char* stub_name(address entry);
 205  207  
 206  208    // access to runtime stubs entry points for java code
 207  209    static address new_instance_Java()                     { return _new_instance_Java; }
 208  210    static address new_array_Java()                        { return _new_array_Java; }
 209  211    static address multianewarray2_Java()                  { return _multianewarray2_Java; }
 210  212    static address multianewarray3_Java()                  { return _multianewarray3_Java; }
 211  213    static address multianewarray4_Java()                  { return _multianewarray4_Java; }
 212  214    static address multianewarray5_Java()                  { return _multianewarray5_Java; }
      215 +  static address multianewarrayN_Java()                  { return _multianewarrayN_Java; }
 213  216    static address g1_wb_pre_Java()                        { return _g1_wb_pre_Java; }
 214  217    static address g1_wb_post_Java()                       { return _g1_wb_post_Java; }
 215  218    static address vtable_must_compile_stub()              { return _vtable_must_compile_Java; }
 216  219    static address complete_monitor_locking_Java()         { return _complete_monitor_locking_Java;   }
 217  220  
 218  221    static address slow_arraycopy_Java()                   { return _slow_arraycopy_Java; }
 219  222    static address register_finalizer_Java()               { return _register_finalizer_Java; }
 220  223  
 221  224  
 222  225  # ifdef ENABLE_ZAP_DEAD_LOCALS
↓ open down ↓ 19 lines elided ↑ open up ↑
 242  245    // Type functions
 243  246    // ======================================================
 244  247  
 245  248    static const TypeFunc* new_instance_Type(); // object allocation (slow case)
 246  249    static const TypeFunc* new_array_Type ();   // [a]newarray (slow case)
 247  250    static const TypeFunc* multianewarray_Type(int ndim); // multianewarray
 248  251    static const TypeFunc* multianewarray2_Type(); // multianewarray
 249  252    static const TypeFunc* multianewarray3_Type(); // multianewarray
 250  253    static const TypeFunc* multianewarray4_Type(); // multianewarray
 251  254    static const TypeFunc* multianewarray5_Type(); // multianewarray
      255 +  static const TypeFunc* multianewarrayN_Type(); // multianewarray
 252  256    static const TypeFunc* g1_wb_pre_Type();
 253  257    static const TypeFunc* g1_wb_post_Type();
 254  258    static const TypeFunc* complete_monitor_enter_Type();
 255  259    static const TypeFunc* complete_monitor_exit_Type();
 256  260    static const TypeFunc* uncommon_trap_Type();
 257  261    static const TypeFunc* athrow_Type();
 258  262    static const TypeFunc* rethrow_Type();
 259  263    static const TypeFunc* Math_D_D_Type();  // sin,cos & friends
 260  264    static const TypeFunc* Math_DD_D_Type(); // mod,pow & friends
 261  265    static const TypeFunc* modf_Type();
↓ open down ↓ 51 lines elided ↑ open up ↑
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX