pike.git/
src/
testsuite.in
Branch:
Tag:
Non-build tags
All tags
No tags
2004-06-23
2004-06-23 11:19:56 by Henrik Grubbström (Grubba) <grubba@grubba.org>
1152c14ba0d74e6b3070339286f5ce97c9f711cc (
17
lines) (+
12
/-
5
)
[
Show
|
Annotate
]
Branch:
7.9
Avoid eating as much C-stack in eat_stack() (reduced by ~1/10).
Rev: src/testsuite.in:1.732
1:
START_MARKER
-
test_true([["$Id: testsuite.in,v 1.
731
2004/06/
13
14
:
24
:
48
mast
Exp $"]]);
+
test_true([["$Id: testsuite.in,v 1.
732
2004/06/
23
11
:
19
:
56
grubba
Exp $"]]);
// This triggered a bug only if run sufficiently early. test_compile_any([[#pike 7.2]])
780:
} }
-
mixed eat_stack()
+
mixed eat_stack(
int|void cnt
)
{ mixed err = 1;
-
if (
catch
(err = eat_stack()) || err != 10)
+
// Avoid eating C-stack by adding a catch context only every
+
// 10th frame.
+
if (
(cnt
&&
(
(
err = eat_stack(
cnt-1
))
!= 10))
||
+
(!cnt && (catch(
err
= eat_stack(10)) || err
!= 10)
))
return intp (err) && err > 0 ? err + 1 : err; if (err = catch {
4828:
]]) test_do([[
-
mixed eat_stack()
+
mixed eat_stack(
int|void cnt
)
{ mixed err = 1;
-
if (
catch
(err = eat_stack()) || err != 10)
+
// Avoid eating C-stack by adding a catch context only every
+
// 10th frame.
+
if (
(cnt
&&
(
(
err = eat_stack(
cnt-1
))
!= 10))
||
+
(!cnt && (catch(
err
= eat_stack(10)) || err
!= 10)
))
return intp (err) && err ? err + 1 : err; if (err = catch { class Foo