hotspot/src/share/vm/opto/runtime.cpp
changeset 1374 4c24294029a9
parent 1 489c9b5090e2
child 2131 98f9cef66a34
equal deleted inserted replaced
615:570062d730b2 1374:4c24294029a9
    42 address OptoRuntime::_new_array_Java                              = NULL;
    42 address OptoRuntime::_new_array_Java                              = NULL;
    43 address OptoRuntime::_multianewarray2_Java                        = NULL;
    43 address OptoRuntime::_multianewarray2_Java                        = NULL;
    44 address OptoRuntime::_multianewarray3_Java                        = NULL;
    44 address OptoRuntime::_multianewarray3_Java                        = NULL;
    45 address OptoRuntime::_multianewarray4_Java                        = NULL;
    45 address OptoRuntime::_multianewarray4_Java                        = NULL;
    46 address OptoRuntime::_multianewarray5_Java                        = NULL;
    46 address OptoRuntime::_multianewarray5_Java                        = NULL;
       
    47 address OptoRuntime::_g1_wb_pre_Java                              = NULL;
       
    48 address OptoRuntime::_g1_wb_post_Java                             = NULL;
    47 address OptoRuntime::_vtable_must_compile_Java                    = NULL;
    49 address OptoRuntime::_vtable_must_compile_Java                    = NULL;
    48 address OptoRuntime::_complete_monitor_locking_Java               = NULL;
    50 address OptoRuntime::_complete_monitor_locking_Java               = NULL;
    49 address OptoRuntime::_rethrow_Java                                = NULL;
    51 address OptoRuntime::_rethrow_Java                                = NULL;
    50 
    52 
    51 address OptoRuntime::_slow_arraycopy_Java                         = NULL;
    53 address OptoRuntime::_slow_arraycopy_Java                         = NULL;
    87   gen(env, _new_array_Java                 , new_array_Type               , new_array_C                     ,    0 , true , false, false);
    89   gen(env, _new_array_Java                 , new_array_Type               , new_array_C                     ,    0 , true , false, false);
    88   gen(env, _multianewarray2_Java           , multianewarray2_Type         , multianewarray2_C               ,    0 , true , false, false);
    90   gen(env, _multianewarray2_Java           , multianewarray2_Type         , multianewarray2_C               ,    0 , true , false, false);
    89   gen(env, _multianewarray3_Java           , multianewarray3_Type         , multianewarray3_C               ,    0 , true , false, false);
    91   gen(env, _multianewarray3_Java           , multianewarray3_Type         , multianewarray3_C               ,    0 , true , false, false);
    90   gen(env, _multianewarray4_Java           , multianewarray4_Type         , multianewarray4_C               ,    0 , true , false, false);
    92   gen(env, _multianewarray4_Java           , multianewarray4_Type         , multianewarray4_C               ,    0 , true , false, false);
    91   gen(env, _multianewarray5_Java           , multianewarray5_Type         , multianewarray5_C               ,    0 , true , false, false);
    93   gen(env, _multianewarray5_Java           , multianewarray5_Type         , multianewarray5_C               ,    0 , true , false, false);
       
    94   gen(env, _g1_wb_pre_Java                 , g1_wb_pre_Type               , SharedRuntime::g1_wb_pre        ,    0 , false, false, false);
       
    95   gen(env, _g1_wb_post_Java                , g1_wb_post_Type              , SharedRuntime::g1_wb_post       ,    0 , false, false, false);
    92   gen(env, _complete_monitor_locking_Java  , complete_monitor_enter_Type  , SharedRuntime::complete_monitor_locking_C      ,    0 , false, false, false);
    96   gen(env, _complete_monitor_locking_Java  , complete_monitor_enter_Type  , SharedRuntime::complete_monitor_locking_C      ,    0 , false, false, false);
    93   gen(env, _rethrow_Java                   , rethrow_Type                 , rethrow_C                       ,    2 , true , false, true );
    97   gen(env, _rethrow_Java                   , rethrow_Type                 , rethrow_C                       ,    2 , true , false, true );
    94 
    98 
    95   gen(env, _slow_arraycopy_Java            , slow_arraycopy_Type          , SharedRuntime::slow_arraycopy_C ,    0 , false, false, false);
    99   gen(env, _slow_arraycopy_Java            , slow_arraycopy_Type          , SharedRuntime::slow_arraycopy_C ,    0 , false, false, false);
    96   gen(env, _register_finalizer_Java        , register_finalizer_Type      , register_finalizer              ,    0 , false, false, false);
   100   gen(env, _register_finalizer_Java        , register_finalizer_Type      , register_finalizer              ,    0 , false, false, false);
   381   return multianewarray_Type(4);
   385   return multianewarray_Type(4);
   382 }
   386 }
   383 
   387 
   384 const TypeFunc *OptoRuntime::multianewarray5_Type() {
   388 const TypeFunc *OptoRuntime::multianewarray5_Type() {
   385   return multianewarray_Type(5);
   389   return multianewarray_Type(5);
       
   390 }
       
   391 
       
   392 const TypeFunc *OptoRuntime::g1_wb_pre_Type() {
       
   393   const Type **fields = TypeTuple::fields(2);
       
   394   fields[TypeFunc::Parms+0] = TypeInstPtr::NOTNULL; // original field value
       
   395   fields[TypeFunc::Parms+1] = TypeRawPtr::NOTNULL; // thread
       
   396   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+2, fields);
       
   397 
       
   398   // create result type (range)
       
   399   fields = TypeTuple::fields(0);
       
   400   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms+0, fields);
       
   401 
       
   402   return TypeFunc::make(domain, range);
       
   403 }
       
   404 
       
   405 const TypeFunc *OptoRuntime::g1_wb_post_Type() {
       
   406 
       
   407   const Type **fields = TypeTuple::fields(2);
       
   408   fields[TypeFunc::Parms+0] = TypeRawPtr::NOTNULL;  // Card addr
       
   409   fields[TypeFunc::Parms+1] = TypeRawPtr::NOTNULL;  // thread
       
   410   const TypeTuple *domain = TypeTuple::make(TypeFunc::Parms+2, fields);
       
   411 
       
   412   // create result type (range)
       
   413   fields = TypeTuple::fields(0);
       
   414   const TypeTuple *range = TypeTuple::make(TypeFunc::Parms, fields);
       
   415 
       
   416   return TypeFunc::make(domain, range);
   386 }
   417 }
   387 
   418 
   388 const TypeFunc *OptoRuntime::uncommon_trap_Type() {
   419 const TypeFunc *OptoRuntime::uncommon_trap_Type() {
   389   // create input type (domain)
   420   // create input type (domain)
   390   const Type **fields = TypeTuple::fields(1);
   421   const Type **fields = TypeTuple::fields(1);