summaryrefslogtreecommitdiff
path: root/src/abstract_hardware_model.cc
diff options
context:
space:
mode:
authorInderpreet Singh <[email protected]>2012-07-19 12:12:40 -0800
committerAndrew Boktor <[email protected]>2014-08-14 13:47:33 -0700
commit16fe8bdd350346f1e940a1653ac485c5c8d8b9b9 (patch)
tree6e4546c647cf6edb59ae3f716a1645828974ace9 /src/abstract_hardware_model.cc
parentb939dbd8142d3ef8c5e598dbfcd004f02089329f (diff)
Ptxplus fix for recrusive call handling in SIMT stack (CL13410).
[git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13435]
Diffstat (limited to 'src/abstract_hardware_model.cc')
-rw-r--r--src/abstract_hardware_model.cc11
1 files changed, 11 insertions, 0 deletions
diff --git a/src/abstract_hardware_model.cc b/src/abstract_hardware_model.cc
index b86e750..c6862ef 100644
--- a/src/abstract_hardware_model.cc
+++ b/src/abstract_hardware_model.cc
@@ -545,6 +545,16 @@ simt_stack::simt_stack( unsigned wid, unsigned warpSize)
reset();
}
+simt_stack::~simt_stack()
+{
+ free(m_pc);
+ free(m_calldepth);
+ delete m_active_mask;
+ free(m_recvg_pc);
+ free(m_branch_div_cycle);
+ free(m_type);
+}
+
void simt_stack::reset()
{
m_stack_top = 0;
@@ -653,6 +663,7 @@ void simt_stack::update( simt_mask_t &thread_done, addr_vector_t &next_pc, addre
stack_top += 1;
m_active_mask[stack_top] = tmp_active_mask;
+
m_pc[stack_top]=tmp_next_pc;
m_type[stack_top]= CALL;
m_recvg_pc[stack_top] = -1;