comparison src/share/vm/opto/runtime.cpp @ 342:37f87013dfd8

6711316: Open source the Garbage-First garbage collector Summary: First mercurial integration of the code for the Garbage-First garbage collector. Reviewed-by: apetrusenko, iveresov, jmasa, sgoldman, tonyp, ysr
author ysr
date Thu, 05 Jun 2008 15:57:56 -0700
parents a61af66fc99e
children 98cb887364d3
comparison
equal deleted inserted replaced
189:0b27f3512f9e 342:37f87013dfd8
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);