summaryrefslogtreecommitdiff
path: root/src/abstract_hardware_model.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/abstract_hardware_model.h')
-rw-r--r--src/abstract_hardware_model.h28
1 files changed, 4 insertions, 24 deletions
diff --git a/src/abstract_hardware_model.h b/src/abstract_hardware_model.h
index 69436a3..d0822d0 100644
--- a/src/abstract_hardware_model.h
+++ b/src/abstract_hardware_model.h
@@ -714,30 +714,10 @@ public:
m_per_scalar_thread[lane_id].callback.instruction = inst;
m_per_scalar_thread[lane_id].callback.thread = thread;
}
- void set_active( const active_mask_t &active )
- {
- m_warp_active_mask = active;
- if( m_isatomic ) {
- for( unsigned i=0; i < m_config->warp_size; i++ ) {
- if( !m_warp_active_mask.test(i) ) {
- m_per_scalar_thread[i].callback.function = NULL;
- m_per_scalar_thread[i].callback.instruction = NULL;
- m_per_scalar_thread[i].callback.thread = NULL;
- }
- }
- }
- }
- void clear_active( const active_mask_t &inactive )
- {
- active_mask_t test = m_warp_active_mask;
- test &= inactive;
- assert( test == inactive ); // verify threads being disabled were active
- m_warp_active_mask &= ~inactive;
- }
- void set_not_active( unsigned lane_id )
- {
- m_warp_active_mask.reset(lane_id);
- }
+ void set_active( const active_mask_t &active );
+
+ void clear_active( const active_mask_t &inactive );
+ void set_not_active( unsigned lane_id );
// accessors
virtual void print_insn(FILE *fp) const