mirror of
https://github.com/ton-blockchain/ton
synced 2025-03-09 15:40:10 +00:00
Add pragmas to funC for precise control of computation order (#589)
* FunC pragmas: allow-post-modification and compute-asm-ltr * Warn if #pragma is enabled only in included files * Add tests for new pragmas * Add special ops for "allow-post-modification" only when needed * Update FunC version to 0.4.1 * Allow empty inlines (#10) Co-authored-by: SpyCheese <mikle98@yandex.ru>
This commit is contained in:
parent
6b49d6a382
commit
653c88aa9d
8 changed files with 344 additions and 61 deletions
|
@ -875,9 +875,15 @@ x{EDFB} @Defop SAMEALTSAVE
|
|||
} dup : PREPARE : PREPAREDICT
|
||||
//
|
||||
// inline support
|
||||
{ dup sbits { @addop } {
|
||||
dup srefs 1- abort"exactly one reference expected in inline"
|
||||
ref@ CALLREF } cond
|
||||
{ dup sbits
|
||||
{ @addop }
|
||||
{
|
||||
dup srefs //
|
||||
{ ref@ CALLREF }
|
||||
{ drop }
|
||||
cond
|
||||
}
|
||||
cond
|
||||
} : INLINE
|
||||
//
|
||||
// throwing and handling exceptions
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue