Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Comment: | directExists interacts with callframe |
---|---|
Timelines: | family | ancestors | descendants | both | kbk-refactor-directops |
Files: | files | file ages | folders |
SHA3-256: |
8d343ec32d31b6ca37bc6f3b36d46cde |
User & Date: | kbk 2019-11-12 02:05:42.873 |
Context
2019-11-12
| ||
02:15 | directArrayExists interacts with callframe check-in: cac986debc user: kbk tags: kbk-refactor-directops | |
02:05 | directExists interacts with callframe check-in: 8d343ec32d user: kbk tags: kbk-refactor-directops | |
01:52 | directGet interacts with the callframe. (Has 'out' as well as 'in' because of traces). check-in: 22c7d8b278 user: kbk tags: kbk-refactor-directops | |
Changes
Changes to codegen/build.tcl.
︙ | ︙ | |||
2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 | # Builder:directExists(STRING) -- # # Test if a variable exists; the variable should be referred to by a # fully-qualified name. Quadcode implementation ('directExists'). # # Parameters: # varname - # The variable name as an LLVM value reference. # name (optional) - # A name to give to the result value. # # Results: # A ZEROONE that indicates whether the variable is set. | > > | | 2605 2606 2607 2608 2609 2610 2611 2612 2613 2614 2615 2616 2617 2618 2619 2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 | # Builder:directExists(STRING) -- # # Test if a variable exists; the variable should be referred to by a # fully-qualified name. Quadcode implementation ('directExists'). # # Parameters: # cf - The callframe in which the variable is expected to appear, if # the variable name is unqualified # varname - # The variable name as an LLVM value reference. # name (optional) - # A name to give to the result value. # # Results: # A ZEROONE that indicates whether the variable is set. method directExists(CALLFRAME,STRING) {cf varname {name ""}} { my call ${tcl.direct.exists} [list $varname {}] $name } # Builder:directArrayExists(STRING,STRING) -- # # Test if an array variable exists; the variable should be referred to # by a fully-qualified name. Quadcode implementation |
︙ | ︙ |
Changes to quadcode/translate.tcl.
︙ | ︙ | |||
726 727 728 729 730 731 732 | # TODO: Typecheck: need lists in $var and $listvalue my error-quads $pc \ directArrayLappendList $var $var $elem $listvalue } existStk { set var [list temp [incr depth -1]] # TODO: This assumes we're dealing with qualified names! | | | 726 727 728 729 730 731 732 733 734 735 736 737 738 739 740 | # TODO: Typecheck: need lists in $var and $listvalue my error-quads $pc \ directArrayLappendList $var $var $elem $listvalue } existStk { set var [list temp [incr depth -1]] # TODO: This assumes we're dealing with qualified names! my quads directExists $var {temp @callframe} $var } existArrayStk { set elem [list temp [incr depth -1]] set var [list temp [incr depth -1]] # TODO: This assumes we're dealing with qualified names! my quads directArrayExists $var $var $elem } |
︙ | ︙ |