Kray-G/kinx

Need internal stack behavior improvement.

Kray-G opened this issue · 1 comments

namespace X1 { class A{} };
namespace X2 { class A{} };
namespace X3 { class A{} };
namespace X4 { class A{} };
namespace X5 { class A{} };
function x1() {
    try {
        return 1;
    } catch (e) {}
}
function x2() {
    try {
        return x1();
    } catch (e) {}
}
function x3() {
    try {
        return x2();
    } catch (e) {}
}
function x4() {
    try {
        return x3();
    } catch (e) {}
}
function x5() {
    try {
        return x4();
    } catch (e) {}
}
System.println(x5());
System._printStack();

Here is the expected result.

1
capacity = 1645, size = 5
frmv = 4, lexv = 8
[ 0] (obj) props:0, ary:0
[ 1] (fnc) adr:0x0, lex:(none)
[ 2] (int) 1
[ 3] (adr) NULL
[ 4] (frm:4, vars:85)
   * [  0] (obj) props:0, ary:0
   * [  1] (obj) props:31, ary:0
   * [  2] (obj) props:30, ary:0
   * [  3] (obj) props:30, ary:0
   * [  4] ...
exception size = 0.
print_stack done.

Fixed at d6ba4d9 and ac0c28e for V1.1.0.