blueloveTH пре 2 година
родитељ
комит
d0b9d8b7ff
2 измењених фајлова са 8 додато и 0 уклоњено
  1. 6 0
      benchmarks/sum.py
  2. 2 0
      src/vm.h

+ 6 - 0
benchmarks/sum.py

@@ -0,0 +1,6 @@
+def f(n):
+    if n == 0:
+        return 0
+    return n + f(n-1)
+
+assert f(900) == 405450

+ 2 - 0
src/vm.h

@@ -897,7 +897,9 @@ inline PyObject* VM::_exec(){
     bool need_raise = false;
     bool need_raise = false;
 
 
     while(true){
     while(true){
+#if DEBUG_EXTRA_CHECK
         if(frame->id < base_id) UNREACHABLE();
         if(frame->id < base_id) UNREACHABLE();
+#endif
         try{
         try{
             if(need_raise){ need_raise = false; _raise(); }
             if(need_raise){ need_raise = false; _raise(); }
             PyObject* ret = run_frame(frame);
             PyObject* ret = run_frame(frame);