I think there is an issue with the way -march flag is handled in the
current build system.
It is set to native (heavy cpu specific optimizations) via TON_ARCH and it is never
checked if it is supported by the compiler.
That's what is causing all those issues with apple m1 builds or any
other arm system.
Without checking early, build will only fail at link stage.
Strict arch support checking is due.
1. Check if "-march=${TON_ARCH}" flag is supported by the compiler
Adds it to CXX_FLAGS if al good
2. Otherwise if such flag is not supported but TON_ARCH is set to default we
continue execution without setting march and leaving arch decisions to
cmake build system
3. Otherwise user specified TON_ARCH intentionally and current arch is
not supported by the compiler.
Therefore we terminate build process immediately and let user know
what's the matter.
Co-authored-by: Trinketer22 <trinketer22@localhost>
* Add ~strdump and STRDUMP TVM OP
Add ~strdump and STRDUMP TVM OP
Add ~strdump and STRDUMP TVM OP
* STRDUMP fixes
Co-authored-by: Andrey Tvorozhkov <andrey@h-labs.ru>
* Add getperfwarningtimeraverage query for validator-engine-console
* Fix for getperfwarningtimeraverage query
* getperftimerstats
* Add history max size: 1 hour
* PerfWarningTimer: move callback instead of copy
* PerfWarningTimer: fix move constructor bug
* PerfWarningTimer: fix bug: lifetime of the callback was greater than lifetime of the local variable 'manager' captured by reference
* Fix validate-query.cpp: 'manager' used after it was moved
* PerfWarningTimer: remove logs
* getperftimerstats: write to json file
* getperftimerstatsjson
Co-authored-by: legaii <jgates.ardux@gmail.com>
Co-authored-by: Ivan Siomash <106972486+legaii@users.noreply.github.com>
* Don't use IFJMP/IFNOTJMP in inline functions
* Fix incorrect ifelse branch code generation
https://github.com/ton-blockchain/ton/issues/374
* Make generate_code_all clearer
* Don't replace IFJMP with IF in inner blocks in inline functions
* Allow unbalance if/else by using RETALT
* Fix wrong PUSHCONT
* Bugfix in IF code generation for inline functions
* Fix unbalanced if/else
* Bugfix and improvements in code generation
* Fix analyzing while(0) in func
https://github.com/ton-blockchain/ton/issues/377
* FunC and Asm.fif: Fix inlining large functions
https://github.com/ton-blockchain/ton/issues/375
Co-authored-by: SpyCheese <mikle98@yandex.ru>
* Don't use IFJMP/IFNOTJMP in inline functions
* Fix incorrect ifelse branch code generation
https://github.com/ton-blockchain/ton/issues/374
* Make generate_code_all clearer
* Don't replace IFJMP with IF in inner blocks in inline functions
* Allow unbalance if/else by using RETALT
* Fix wrong PUSHCONT
* Bugfix in IF code generation for inline functions
* Fix unbalanced if/else
* Bugfix and improvements in code generation
* Fix analyzing while(0) in func
https://github.com/ton-blockchain/ton/issues/377
* FunC and Asm.fif: Fix inlining large functions
https://github.com/ton-blockchain/ton/issues/375
Co-authored-by: SpyCheese <mikle98@yandex.ru>