266 Commits

Author SHA1 Message Date
lyon
ec8405d304 support str.join()
fix VM for nano mode
2023-03-11 22:36:12 +08:00
lyon
7889c4028c (vm) raise err when slice of get out of range 2023-03-11 13:14:54 +08:00
lyon
7e8241ab15 (fix) fix multi comment err on one line 2023-03-11 00:18:12 +08:00
lyon
814db1ad55 movd L Regestor to Locals
fix mem lack on for_return
2023-03-10 20:50:23 +08:00
pikastech
28fc4b9403 mark_sweep test passed on pikaui 2023-03-09 20:45:55 +08:00
pikastech
2a633d0a63 skip pikaui test 2023-03-09 16:53:21 +08:00
pikastech
ca65efd1fa fix args_foreach handler
add PikaGC class

add gc.onMarkObj

add GC DUMP

support gcdump()

improve gcdump
2023-03-09 16:52:57 +08:00
lyon
cae2955697 skip pack test 2023-03-09 11:23:33 +08:00
lyon
8d565f4af3 move test file 2023-03-09 11:23:33 +08:00
lyon
01be7b7ad7 try to add runbytecodereturn
switch to runbytecodereturn

gc test pass except pikaui

skip pikaui test, local root not work
2023-03-09 11:23:33 +08:00
lyon
8ad1427f51 fix parse err, open assert on rust-msc-
add test about while data[:]

add test for list_list slice

release cross build
2023-03-08 20:54:42 +08:00
lyon
ecfb8cb62f fix CI err 2023-03-08 09:53:39 +08:00
pikastech
7f5edaf090 add objCnt
ready to check where enable the mark_sweep

auto gc with threshold failed, add some assert

more assert about obj alive, dict mark not correct

add pikaGC_try, but cannot run at any time

markSweep crashed on keyword

save gcRoot for obj to debug

add debug point

add kernal_debug config to keep more debug info

use @res_<opt> to mark operation

found self reference on __iter__()

can not fix gc err around iter

remove lock, only keep the self lock

more obj info for debug

only pikaui not pass

only pikaui not pass
2023-03-08 09:35:27 +08:00
lyon
9d4aa3c38c try to fix gc about __pikaMain
fix format

can not markSweep after deinit root

support markRoot if not root

add clang-format

fix path

enable compile-commonds on to support clangd

set markSweep not default

use no_gc object for function frame

only gc for tinyobj, not pikaobj

restore add gc chain when init pikaObj

add clang-format in docker

set for default formatter to clang-format

all Object is GC_ROOT on create

only enable mark sweep to collect after OUT

markSweep after deinit __pikaMain

more mark sweep collect
2023-03-06 10:57:08 +08:00
lyon
38388625ca support mark-sweep gc
change project name and url on kernal sources

rename global Value

format name

use g_PikaObjState

add gc chain

add gc_mark()

add printCanFree

add sub locals init

try use mark-sweep to solve circle-ref

use mark sweep to collect circle ref succeed

import mark-sweep GC

config_default

update
2023-03-05 12:57:27 +08:00
lyon
cfa3acba3b add more comments for modbus example 2023-03-03 00:24:04 +08:00
pikastech
3f1ebc12eb check pos arguments for fun with pos and vars 2023-03-02 18:43:25 +08:00
lyon
57a04ca87e fix built-in function print 2023-03-01 22:15:22 +08:00
lyon
f152db319c support fullfealure of type() 2023-03-01 22:03:51 +08:00
lyon
ae2ec0a7cd fix 'self' for get method from getattr 2023-03-01 19:28:16 +08:00
pikastech
cb30579c08 update thread, fix parse err on 'not in or' 2023-03-01 15:46:22 +08:00
lyon
3df11749dd add thread.self test 2023-02-28 10:59:53 +08:00
lyon
546daaabe0 logout syntex err line
fix parse err on complex list
2023-02-25 16:43:41 +08:00
lyon
b4f563cfe3 support user compotnents 2023-02-25 16:01:54 +08:00
lyon
a5836d258c fix typo 2023-02-25 15:33:19 +08:00
lyon
bc9bccd5a1 rename GPU info 2023-02-25 15:32:01 +08:00
lyon
c837a7a54f rename global backend to GPU 2023-02-25 15:30:50 +08:00
lyon
0d71c8eed3 fix run native constructor 2023-02-25 12:15:38 +08:00
lyon
9a0ea109e3 complex page test
restore src
2023-02-25 11:17:55 +08:00
lyon
47eca23f99 clean child first 2023-02-25 10:35:33 +08:00
lyon
5dfe330876 update PikaUI 2023-02-24 00:57:46 +08:00
lyon
21993122a3 fix weakref
add comment
2023-02-23 21:45:20 +08:00
lyon
2077880671 fix modbus err 2023-02-23 15:52:44 +08:00
lyon
b360b6d821 find mem err on self._child = [] 2023-02-23 00:36:08 +08:00
lyon
93f22cb39e auto scan backend for PikaUI
cancel PikaUI_core
2023-02-22 23:08:34 +08:00
lyon
0801544fd4 clean when first enter 2023-02-22 22:08:18 +08:00
lyon
78841bd587 add backend.clean() 2023-02-22 22:05:08 +08:00
lyon
6c6be65db6 support add and build 2023-02-22 21:59:28 +08:00
lyon
8172d50e13 rename pikaui backend 2023-02-22 20:39:59 +08:00
lyon
c95594d89b add cpp-test 2023-02-22 19:26:37 +08:00
lyon
16695292a1 fix ci 2023-02-22 09:57:16 +08:00
lyon
2aafbbdc84 support type(bool) 2023-02-18 16:50:24 +08:00
lyon
85d989028e support bool type 2023-02-18 16:35:03 +08:00
lyon
b576716ca2 add EXPCET 2023-02-15 12:30:51 +08:00
lyon
de571a2662 add while_try_while
fix while_try_while vm err
2023-02-15 12:29:47 +08:00
lyon
e1fb488b29 add test for socket_json issue 2023-02-15 11:25:38 +08:00
lyon
dfe17ff3b9 fix splitCollect and type hint inner default 2023-02-14 20:53:27 +08:00
lyon
165cc7d041 fix thread and socket on freertos
use pikaMalloc/Free inner platform_thread()

socket multithread test passed on linux

update

improve fast_test.sh
2023-02-14 19:37:30 +08:00
pikastech
9af5c1ea7f add test for sh_filter 2023-02-13 16:17:10 +08:00
pikastech
1a690ef5f4 fix CI 2023-02-13 16:08:28 +08:00