equal
deleted
inserted
replaced
101 _barrier_set_c1(barrier_set_c1), |
101 _barrier_set_c1(barrier_set_c1), |
102 _barrier_set_c2(barrier_set_c2) {} |
102 _barrier_set_c2(barrier_set_c2) {} |
103 ~BarrierSet() { } |
103 ~BarrierSet() { } |
104 |
104 |
105 template <class BarrierSetAssemblerT> |
105 template <class BarrierSetAssemblerT> |
106 BarrierSetAssembler* make_barrier_set_assembler() { |
106 static BarrierSetAssembler* make_barrier_set_assembler() { |
107 return NOT_ZERO(new BarrierSetAssemblerT()) ZERO_ONLY(NULL); |
107 return NOT_ZERO(new BarrierSetAssemblerT()) ZERO_ONLY(NULL); |
108 } |
108 } |
109 |
109 |
110 template <class BarrierSetC1T> |
110 template <class BarrierSetC1T> |
111 BarrierSetC1* make_barrier_set_c1() { |
111 static BarrierSetC1* make_barrier_set_c1() { |
112 return COMPILER1_PRESENT(new BarrierSetC1T()) NOT_COMPILER1(NULL); |
112 return COMPILER1_PRESENT(new BarrierSetC1T()) NOT_COMPILER1(NULL); |
113 } |
113 } |
114 |
114 |
115 template <class BarrierSetC2T> |
115 template <class BarrierSetC2T> |
116 BarrierSetC2* make_barrier_set_c2() { |
116 static BarrierSetC2* make_barrier_set_c2() { |
117 return COMPILER2_PRESENT(new BarrierSetC2T()) NOT_COMPILER2(NULL); |
117 return COMPILER2_PRESENT(new BarrierSetC2T()) NOT_COMPILER2(NULL); |
118 } |
118 } |
119 |
119 |
120 public: |
120 public: |
121 // Support for optimizing compilers to call the barrier set on slow path allocations |
121 // Support for optimizing compilers to call the barrier set on slow path allocations |