From 16fe8bdd350346f1e940a1653ac485c5c8d8b9b9 Mon Sep 17 00:00:00 2001 From: Inderpreet Singh Date: Thu, 19 Jul 2012 12:12:40 -0800 Subject: Ptxplus fix for recrusive call handling in SIMT stack (CL13410). [git-p4: depot-paths = "//depot/gpgpu_sim_research/fermi/distribution/": change = 13435] --- src/abstract_hardware_model.cc | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'src/abstract_hardware_model.cc') 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; -- cgit v1.3