blueloveTH vor 3 Jahren
Ursprung
Commit
e13ca1a924
1 geänderte Dateien mit 2 neuen und 1 gelöschten Zeilen
  1. 2 1
      src/vm.h

+ 2 - 1
src/vm.h

@@ -860,7 +860,8 @@ PyVar pkpy::NativeFunc::operator()(VM* vm, pkpy::Args& args) const{
 void CodeObject::optimize(VM* vm){
     int n = 0;
     for(auto& p: names) if(p.second == NAME_LOCAL) n++;
-    int base_n = (int)(n / kLocalsLoadFactor + 1.5);
+    // 0->2, 1->2, 2->4, 3->4, 4->8, 5->8, 6->16
+    int base_n = (int)(n / kLocalsLoadFactor + 0.5);
     ideal_locals_capacity = 2;
     while(ideal_locals_capacity < base_n) ideal_locals_capacity *= 2;