equal
deleted
inserted
replaced
1465 if (RegisterFinalizersAtInit && |
1465 if (RegisterFinalizersAtInit && |
1466 method()->intrinsic_id() == vmIntrinsics::_Object_init) { |
1466 method()->intrinsic_id() == vmIntrinsics::_Object_init) { |
1467 call_register_finalizer(); |
1467 call_register_finalizer(); |
1468 } |
1468 } |
1469 |
1469 |
|
1470 // The conditions for a memory barrier are described in Parse::do_exits(). |
1470 bool need_mem_bar = false; |
1471 bool need_mem_bar = false; |
1471 if (method()->name() == ciSymbol::object_initializer_name() && |
1472 if (method()->name() == ciSymbol::object_initializer_name() && |
1472 (scope()->wrote_final() || (AlwaysSafeConstructors && scope()->wrote_fields()) |
1473 (scope()->wrote_final() || |
1473 || (support_IRIW_for_not_multiple_copy_atomic_cpu && scope()->wrote_volatile()) |
1474 (AlwaysSafeConstructors && scope()->wrote_fields()) || |
1474 )){ |
1475 (support_IRIW_for_not_multiple_copy_atomic_cpu && scope()->wrote_volatile()))) { |
1475 need_mem_bar = true; |
1476 need_mem_bar = true; |
1476 } |
1477 } |
1477 |
1478 |
1478 BasicType bt = method()->return_type()->basic_type(); |
1479 BasicType bt = method()->return_type()->basic_type(); |
1479 switch (bt) { |
1480 switch (bt) { |