src/cpu/sparc/vm/c1_LIRAssembler_sparc.cpp

changeset 777
37f87013dfd8
parent 464
d5fc211aea19
child 791
1ee8caae33af
equal deleted inserted replaced
624:0b27f3512f9e 777:37f87013dfd8
2091 2091
2092 // always do stub if no type information is available. it's ok if 2092 // always do stub if no type information is available. it's ok if
2093 // the known type isn't loaded since the code sanity checks 2093 // the known type isn't loaded since the code sanity checks
2094 // in debug mode and the type isn't required when we know the exact type 2094 // in debug mode and the type isn't required when we know the exact type
2095 // also check that the type is an array type. 2095 // also check that the type is an array type.
2096 if (op->expected_type() == NULL) { 2096 // We also, for now, always call the stub if the barrier set requires a
2097 // write_ref_pre barrier (which the stub does, but none of the optimized
2098 // cases currently does).
2099 if (op->expected_type() == NULL ||
2100 Universe::heap()->barrier_set()->has_write_ref_pre_barrier()) {
2097 __ mov(src, O0); 2101 __ mov(src, O0);
2098 __ mov(src_pos, O1); 2102 __ mov(src_pos, O1);
2099 __ mov(dst, O2); 2103 __ mov(dst, O2);
2100 __ mov(dst_pos, O3); 2104 __ mov(dst_pos, O3);
2101 __ mov(length, O4); 2105 __ mov(length, O4);

mercurial