16af3ae9fc
This commit updates all example files to use `assert_eq!` for verifying output, replacing the previous `Output:` comments. This change makes the examples more robust and self-testing. The benchmark results in some examples have also been slightly adjusted, reflecting minor performance variations after the refactoring. Additionally, a runtime panic handling mechanism has been introduced in the VM for function calls, which improves error reporting for unexpected panics.
23 lines
556 B
Plaintext
23 lines
556 B
Plaintext
;; Benchmark: 196ns
|
|
;; Benchmark-Repeat: 10532
|
|
(do
|
|
;; 1. Provokation Stack-Gap (bei Optimization Level 2)
|
|
(def result
|
|
(fn []
|
|
(do
|
|
;; Wird entfernt, Slot 0 ist dann "leer"
|
|
(def unused 10)
|
|
;; Bleibt auf Slot 1 -> Lücke!
|
|
(def used 42)
|
|
used)))
|
|
|
|
;; 2. Provokation Inlining-Blockade
|
|
;; Diese Funktion wird nicht inlined, weil sie ein 'def' enthält
|
|
(def complex-add
|
|
(fn [a]
|
|
(do
|
|
(def b 100)
|
|
(+ a b))))
|
|
|
|
(assert-eq [42 150] [(result) (complex-add 50)])
|
|
) |