mirror of
https://github.com/pocketpy/pocketpy
synced 2025-10-20 11:30:18 +00:00
...
This commit is contained in:
parent
b8a54d0d43
commit
a71b1a6e90
1
LICENSE
1
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.
|
||||||
|
|
||||||
|
@ -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).
|
||||||
|
|
||||||
|
@ -154,4 +154,5 @@ flutter pub add pocketpy
|
|||||||
|
|
||||||
## 开源协议
|
## 开源协议
|
||||||
|
|
||||||
MIT License
|
MIT License
|
||||||
|
|
||||||
|
@ -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")
|
||||||
|
3
build.py
3
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()
|
||||||
|
|
||||||
|
@ -2,4 +2,4 @@
|
|||||||
-Wall
|
-Wall
|
||||||
-W*
|
-W*
|
||||||
-std=c++17
|
-std=c++17
|
||||||
-stdlib=libc++
|
-stdlib=libc++
|
||||||
|
@ -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())
|
||||||
|
@ -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
|
||||||
|
@ -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
|
|
@ -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
|
|
5
src/vm.h
5
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();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user