icode: new IEscapeMark class to bind ISeq and IEscape
authorJean Privat <jean@pryen.org>
Wed, 26 Aug 2009 14:12:16 +0000 (10:12 -0400)
committerJean Privat <jean@pryen.org>
Wed, 26 Aug 2009 16:22:26 +0000 (12:22 -0400)
commitd1b066ddb38f02485c5b0802fa295d07ffef4c81
treedb397026bbf544cce3adc5083b6b9c8ad4a5b1e2
parent761896e19a52233122b0ac61648a7c899a30a1c0
icode: new IEscapeMark class to bind ISeq and IEscape

An IRoutine knows all its local escape marks.
This fix some bugs with nesting and escapes since only marks of the
current iroutine needs to be duplicated (like what is done for registers).

Signed-off-by: Jean Privat <jean@pryen.org>
32 files changed:
src/analysis/icode_dump.nit
src/compiling/compiling_icode.nit
src/icode/icode_base.nit
src/icode/icode_builder.nit
src/icode/icode_tools.nit
tests/base_inline_closure_escape.nit [new file with mode: 0644]
tests/base_inline_closure_escape2.nit [new file with mode: 0644]
tests/base_inline_closure_escape3.nit [new file with mode: 0644]
tests/base_inline_closure_fork.nit [new file with mode: 0644]
tests/sav/base_inline_closure_escape.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape2.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape2_alt1.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape2_alt2.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape2_alt3.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape2_alt4.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape2_alt5.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape3.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape3_alt1.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape3_alt2.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape3_alt3.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape3_alt4.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape3_alt5.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape_alt1.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape_alt2.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape_alt3.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape_alt4.sav [new file with mode: 0644]
tests/sav/base_inline_closure_escape_alt5.sav [new file with mode: 0644]
tests/sav/base_inline_closure_fork.sav [new file with mode: 0644]
tests/sav/base_inline_closure_fork_alt1.sav [new file with mode: 0644]
tests/sav/base_inline_closure_fork_alt2.sav [new file with mode: 0644]
tests/sav/base_inline_closure_fork_alt3.sav [new file with mode: 0644]
tests/sav/base_inline_closure_fork_alt4.sav [new file with mode: 0644]