annotate modules/false.tp @ 200:49bca6487178

Add a save instruction around calls if there are caller-saved registers live at call-time. Fix to2Op for skipIf and save instructions.
author Mike Pavone <pavone@retrodev.com>
date Tue, 27 Aug 2013 23:02:19 -0700
parents 1417f13f219c
children bb2b4613fdc8
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
68
3a169ebb3224 Change strategy for handling true and false to avoid some initialization order problems and improve performance. Add support for negative integer literals. Update samples to reflect true/false change.
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
1 #{
70
0efd25a4958a Update true and false with improved versions from ICFP contest project
Mike Pavone <pavone@retrodev.com>
parents: 68
diff changeset
2 if <- :self trueblock {
0efd25a4958a Update true and false with improved versions from ICFP contest project
Mike Pavone <pavone@retrodev.com>
parents: 68
diff changeset
3 self
0efd25a4958a Update true and false with improved versions from ICFP contest project
Mike Pavone <pavone@retrodev.com>
parents: 68
diff changeset
4 }
97
59a94f3ad56f Added short-circuit && and || operators
Mike Pavone <pavone@retrodev.com>
parents: 71
diff changeset
5 ifnot <- :self falseblock {
59a94f3ad56f Added short-circuit && and || operators
Mike Pavone <pavone@retrodev.com>
parents: 71
diff changeset
6 falseblock:
59a94f3ad56f Added short-circuit && and || operators
Mike Pavone <pavone@retrodev.com>
parents: 71
diff changeset
7 }
68
3a169ebb3224 Change strategy for handling true and false to avoid some initialization order problems and improve performance. Add support for negative integer literals. Update samples to reflect true/false change.
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
8 if:else <- :self trueblock :elseblock {
3a169ebb3224 Change strategy for handling true and false to avoid some initialization order problems and improve performance. Add support for negative integer literals. Update samples to reflect true/false change.
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
9 elseblock:
3a169ebb3224 Change strategy for handling true and false to avoid some initialization order problems and improve performance. Add support for negative integer literals. Update samples to reflect true/false change.
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
10 }
71
01b6f8204cdf added 'not' message to 'true' and 'false' modules
William Morgan <bill@mrgn.org>
parents: 70
diff changeset
11 not <- {
01b6f8204cdf added 'not' message to 'true' and 'false' modules
William Morgan <bill@mrgn.org>
parents: 70
diff changeset
12 true
01b6f8204cdf added 'not' message to 'true' and 'false' modules
William Morgan <bill@mrgn.org>
parents: 70
diff changeset
13 }
197
1417f13f219c Added string method to true and false modules
Mike Pavone <pavone@retrodev.com>
parents: 97
diff changeset
14 string <- { "false" }
68
3a169ebb3224 Change strategy for handling true and false to avoid some initialization order problems and improve performance. Add support for negative integer literals. Update samples to reflect true/false change.
Mike Pavone <pavone@retrodev.com>
parents:
diff changeset
15 }