[pure-lang-svn] SF.net SVN: pure-lang:[685] pure/trunk/runtime.cc
Status: Beta
Brought to you by:
agraef
|
From: <ag...@us...> - 2008-09-01 23:30:40
|
Revision: 685
http://pure-lang.svn.sourceforge.net/pure-lang/?rev=685&view=rev
Author: agraef
Date: 2008-09-01 23:30:49 +0000 (Mon, 01 Sep 2008)
Log Message:
-----------
Bugfixes.
Modified Paths:
--------------
pure/trunk/runtime.cc
Modified: pure/trunk/runtime.cc
===================================================================
--- pure/trunk/runtime.cc 2008-09-01 16:31:02 UTC (rev 684)
+++ pure/trunk/runtime.cc 2008-09-01 23:30:49 UTC (rev 685)
@@ -1392,10 +1392,6 @@
size_t m = x->data.clos->m;
uint32_t env = 0;
assert(x->refc > 0);
- // first push the function object on the shadow stack so that it's
- // garbage-collected in case of an exception
- resize_sstk(interp.sstk, interp.sstk_cap, interp.sstk_sz, m+2);
- interp.sstk[interp.sstk_sz++] = x;
// construct a stack frame for the function call
if (m>0) {
size_t sz = interp.sstk_sz;
@@ -1435,8 +1431,6 @@
#if DEBUG>1
cerr << "pure_force: result " << x << " = " << ret << " -> " << (void*)ret << ", refc = " << ret->refc << endl;
#endif
- // pop the function object from the shadow stack
- --interp.sstk_sz;
// check whether the result is again a thunk, then we have to evaluate
// that recursively
if (ret->tag == 0 && ret->data.clos && ret->data.clos->n == 0)
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|