Mercurial > hg > truffle
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); |