blueloveTH 2 years ago
parent
commit
a71b1a6e90
11 changed files with 13 additions and 14 deletions
  1. 1 0
      LICENSE
  2. 1 0
      README.md
  3. 2 1
      README_zh.md
  4. 1 1
      amalgamate.py
  5. 2 1
      build.py
  6. 1 1
      compile_flags.txt
  7. 1 1
      preprocess.py
  8. 1 1
      run_profile.sh
  9. 0 3
      run_profile_test.sh
  10. 0 3
      run_tests.sh
  11. 3 2
      src/vm.h

+ 1 - 0
LICENSE

@@ -19,3 +19,4 @@ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
 SOFTWARE.
 SOFTWARE.
+

+ 1 - 0
README.md

@@ -184,3 +184,4 @@ Check our [Coding Style Guide](https://pocketpy.dev/coding_style_guide/) if you
 ## License
 ## License
 
 
 PocketPy is licensed under the [MIT License](http://opensource.org/licenses/MIT).
 PocketPy is licensed under the [MIT License](http://opensource.org/licenses/MIT).
+

+ 2 - 1
README_zh.md

@@ -154,4 +154,5 @@ flutter pub add pocketpy
 
 
 ## 开源协议
 ## 开源协议
 
 
-MIT License
+MIT License
+

+ 1 - 1
amalgamate.py

@@ -77,4 +77,4 @@ if os.path.exists("plugins/godot/godot-cpp/pocketpy"):
 if os.path.exists("/mnt/e/PainterEngine/project/pocketpy.h"):
 if os.path.exists("/mnt/e/PainterEngine/project/pocketpy.h"):
 	shutil.copy("amalgamated/pocketpy.h", "/mnt/e/PainterEngine/project/pocketpy.h")
 	shutil.copy("amalgamated/pocketpy.h", "/mnt/e/PainterEngine/project/pocketpy.h")
 
 
-print("amalgamated/pocketpy.h")
+print("amalgamated/pocketpy.h")

+ 2 - 1
build.py

@@ -52,4 +52,5 @@ rm -rf web/lib/
 mkdir -p web/lib/
 mkdir -p web/lib/
 em++ src/main.cpp -fno-rtti -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_delete,_pkpy_setup_callbacks,_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm,_pkpy_vm_add_module,_pkpy_vm_bind,_pkpy_vm_eval,_pkpy_vm_exec,_pkpy_vm_get_global,_pkpy_vm_read_output -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js
 em++ src/main.cpp -fno-rtti -fexceptions -O3 -sEXPORTED_FUNCTIONS=_pkpy_delete,_pkpy_setup_callbacks,_pkpy_new_repl,_pkpy_repl_input,_pkpy_new_vm,_pkpy_vm_add_module,_pkpy_vm_bind,_pkpy_vm_eval,_pkpy_vm_exec,_pkpy_vm_get_global,_pkpy_vm_read_output -sEXPORTED_RUNTIME_METHODS=ccall -o web/lib/pocketpy.js
 ''')
 ''')
-    DONE()
+    DONE()
+

+ 1 - 1
compile_flags.txt

@@ -2,4 +2,4 @@
 -Wall
 -Wall
 -W*
 -W*
 -std=c++17
 -std=c++17
--stdlib=libc++
+-stdlib=libc++

+ 1 - 1
preprocess.py

@@ -33,4 +33,4 @@ namespace pkpy{
     return header
     return header
 
 
 with open("src/_generated.h", "w", encoding='utf-8') as f:
 with open("src/_generated.h", "w", encoding='utf-8') as f:
-    f.write(generate_python_sources())
+    f.write(generate_python_sources())

+ 1 - 1
run_profile.sh

@@ -2,4 +2,4 @@ clang++ -pg -O2 -std=c++17 -fno-rtti -stdlib=libc++ -Wall -o pocketpy src/main.c
 time ./pocketpy benchmarks/fib.py
 time ./pocketpy benchmarks/fib.py
 mv benchmarks/gmon.out .
 mv benchmarks/gmon.out .
 gprof pocketpy gmon.out > gprof.txt
 gprof pocketpy gmon.out > gprof.txt
-rm gmon.out
+rm gmon.out

+ 0 - 3
run_profile_test.sh

@@ -5,6 +5,3 @@ mkdir -p .coverage
 llvm-cov-15 gcov main.gc -r -s src/ >> .coverage/coverage.txt
 llvm-cov-15 gcov main.gc -r -s src/ >> .coverage/coverage.txt
 mv *.gcov .coverage
 mv *.gcov .coverage
 rm main.gc*
 rm main.gc*
-
-# -fprofile-instr-generate -fcoverage-mapping 
-# llvm-cov-15 show main.gc -instr-profile=default.profraw -format=html -output-dir .coverage

+ 0 - 3
run_tests.sh

@@ -5,6 +5,3 @@ mkdir -p .coverage
 llvm-cov-15 gcov main.gc -r -s src/ >> .coverage/coverage.txt
 llvm-cov-15 gcov main.gc -r -s src/ >> .coverage/coverage.txt
 mv *.gcov .coverage
 mv *.gcov .coverage
 rm main.gc*
 rm main.gc*
-
-# -fprofile-instr-generate -fcoverage-mapping 
-# llvm-cov-15 show main.gc -instr-profile=default.profraw -format=html -output-dir .coverage

+ 3 - 2
src/vm.h

@@ -108,7 +108,7 @@ public:
         this->vm = this;
         this->vm = this;
         this->_stdout = use_stdio ? &std::cout : &_stdout_buffer;
         this->_stdout = use_stdio ? &std::cout : &_stdout_buffer;
         this->_stderr = use_stdio ? &std::cerr : &_stderr_buffer;
         this->_stderr = use_stdio ? &std::cerr : &_stderr_buffer;
-        callstack.data().reserve(8);
+        callstack.reserve(8);
         init_builtin_types();
         init_builtin_types();
     }
     }
 
 
@@ -357,6 +357,7 @@ public:
 
 
     ~VM() {
     ~VM() {
         callstack.clear();
         callstack.clear();
+        s_data.clear();
         _all_types.clear();
         _all_types.clear();
         _modules.clear();
         _modules.clear();
         _lazy_modules.clear();
         _lazy_modules.clear();
@@ -967,7 +968,7 @@ inline void VM::_error(Exception e){
         e.is_re = false;
         e.is_re = false;
         throw e;
         throw e;
     }
     }
-    s_data.push(VAR(e));
+    PUSH(VAR(e));
     _raise();
     _raise();
 }
 }