array C_nextFree188 integer C_firstFree901 integer C_maxIndex543 array C_typeId610 integer wurst_stack_depth122 array wurst_stack505 integer C_firstFree901 = 0 integer C_maxIndex543 = 0 integer wurst_stack_depth122 = 0 function initGlobals855() { } function main174() { initGlobals855(); init_test159("when calling init_test in recyling2, line 1"); } function config188() { } function init_test159(string __wurst_stackPos199) { local integer a188 wurst_stack_505[wurst_stack_depth_122] = __wurst_stackPos_199; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); a_188 = new_C456("when calling new_C in recyling2, line 9"); dispatch_C_destroyC108(a_188, "when calling dispatch_C_destroyC in recyling2, line 10"); a_188 = new_C456("when calling new_C in recyling2, line 11"); dispatch_C_destroyC108(a_188, "when calling dispatch_C_destroyC in recyling2, line 12"); a_188 = new_C456("when calling new_C in recyling2, line 13"); if (a_188 != new_C456("when calling new_C in recyling2, line 14")) { testSuccess433(); } else { }; wurst_stack_depth_122 = (wurst_stack_depth_122 - 1); } IS_NATIVE function testSuccess433() { } function new_C456(string __wurst_stackPos153) returns integer { local integer this130 wurst_stack_505[wurst_stack_depth_122] = __wurst_stackPos_153; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); wurst_stack_505[wurst_stack_depth_122] = "when calling alloc_C in recyling2, line 5"; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); if (C_firstFree_901 == 0) { if (C_maxIndex_543 < 32768) { C_maxIndex_543 = (C_maxIndex_543 + 1); this_130 = C_maxIndex_543; C_typeId_610[this_130] = 1; } else { error569("Out of memory: Could not create C.", "when calling error in recyling2, line 5"); this_130 = 0; }; } else { C_firstFree_901 = (C_firstFree_901 - 1); this_130 = C_nextFree_188[C_firstFree_901]; C_typeId_610[this_130] = 1; }; wurst_stack_depth_122 = ((wurst_stack_depth_122 - 1) - 1); return this_130; } function error569(string msg833, string __wurst_stackPos180) { local integer stacktraceIndex201 local integer stacktraceLimit979 wurst_stack_505[wurst_stack_depth_122] = __wurst_stackPos_180; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); __wurst_stackPos_180 = ""; stacktraceIndex_201 = wurst_stack_depth_122; stacktraceLimit_979 = 0; loop { stacktraceIndex_201 = (stacktraceIndex_201 - 1); stacktraceLimit_979 = (stacktraceLimit_979 + 1); exitwhen ((stacktraceLimit_979 > 20) or (stacktraceIndex_201 < 0)); __wurst_stackPos_180 = (__wurst_stackPos_180 + (" " + wurst_stack_505[stacktraceIndex_201])); }; $debugPrint913((msg_833 + (" " + __wurst_stackPos_180))); wurst_stack_depth_122 = (wurst_stack_depth_122 - 1); } function dispatch_C_destroyC108(integer this192, string __wurst_stackPos275) { wurst_stack_505[wurst_stack_depth_122] = __wurst_stackPos_275; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); if (C_typeId_610[this_192] == 0) { if (this_192 == 0) { error569("Nullpointer exception when calling C.C", "when calling error in recyling2, line 5"); } else { error569("Called C.C on invalid object.", "when calling error in recyling2, line 5"); }; } else { }; wurst_stack_505[wurst_stack_depth_122] = "when calling destroyC in recyling2, line 5"; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); wurst_stack_505[wurst_stack_depth_122] = "when calling dealloc_C in recyling2, line 5"; wurst_stack_depth_122 = (wurst_stack_depth_122 + 1); if (C_typeId_610[this_192] == 0) { error569("Double free: object of type C", "when calling error in recyling2, line 5"); } else { C_nextFree_188[C_firstFree_901] = this_192; C_firstFree_901 = (C_firstFree_901 + 1); C_typeId_610[this_192] = 0; }; wurst_stack_depth_122 = (((wurst_stack_depth_122 - 1) - 1) - 1); }