20 * or visit www.oracle.com if you need additional information or have any |
20 * or visit www.oracle.com if you need additional information or have any |
21 * questions. |
21 * questions. |
22 */ |
22 */ |
23 |
23 |
24 #include "precompiled.hpp" |
24 #include "precompiled.hpp" |
|
25 #ifdef COMPILER1 |
25 #include "gc/z/c1/zBarrierSetC1.hpp" |
26 #include "gc/z/c1/zBarrierSetC1.hpp" |
|
27 #endif |
|
28 #ifdef COMPILER2 |
26 #include "gc/z/c2/zBarrierSetC2.hpp" |
29 #include "gc/z/c2/zBarrierSetC2.hpp" |
|
30 #endif |
27 #include "gc/z/zBarrierSet.hpp" |
31 #include "gc/z/zBarrierSet.hpp" |
28 #include "gc/z/zBarrierSetAssembler.hpp" |
32 #include "gc/z/zBarrierSetAssembler.hpp" |
29 #include "gc/z/zGlobals.hpp" |
33 #include "gc/z/zGlobals.hpp" |
30 #include "gc/z/zHeap.inline.hpp" |
34 #include "gc/z/zHeap.inline.hpp" |
31 #include "gc/z/zThreadLocalData.hpp" |
35 #include "gc/z/zThreadLocalData.hpp" |
32 #include "runtime/thread.hpp" |
36 #include "runtime/thread.hpp" |
33 |
37 |
34 ZBarrierSet::ZBarrierSet() : |
38 ZBarrierSet::ZBarrierSet() : |
35 BarrierSet(make_barrier_set_assembler<ZBarrierSetAssembler>(), |
39 BarrierSet(make_barrier_set_assembler<ZBarrierSetAssembler>(), |
36 make_barrier_set_c1<ZBarrierSetC1>(), |
40 COMPILER1_PRESENT( make_barrier_set_c1<ZBarrierSetC1>() ) NOT_COMPILER1(NULL), |
37 make_barrier_set_c2<ZBarrierSetC2>(), |
41 COMPILER2_PRESENT( make_barrier_set_c2<ZBarrierSetC2>() ) NOT_COMPILER2(NULL), |
38 BarrierSet::FakeRtti(BarrierSet::ZBarrierSet)) {} |
42 BarrierSet::FakeRtti(BarrierSet::ZBarrierSet)) {} |
39 |
43 |
40 ZBarrierSetAssembler* ZBarrierSet::assembler() { |
44 ZBarrierSetAssembler* ZBarrierSet::assembler() { |
41 BarrierSetAssembler* const bsa = BarrierSet::barrier_set()->barrier_set_assembler(); |
45 BarrierSetAssembler* const bsa = BarrierSet::barrier_set()->barrier_set_assembler(); |
42 return reinterpret_cast<ZBarrierSetAssembler*>(bsa); |
46 return reinterpret_cast<ZBarrierSetAssembler*>(bsa); |