From 10662a9a9043f1298a137116a1473c143229860f Mon Sep 17 00:00:00 2001 From: lyon Date: Fri, 24 Dec 2021 13:00:39 +0800 Subject: [PATCH] not GC in 'for' loop --- port/linux/api-make-linux.sh | 0 port/linux/api-make-win10.sh | 0 port/linux/api-make.sh | 0 port/linux/gtest.sh | 0 port/linux/init.sh | 0 port/linux/make.sh | 0 .../package/pikascript/rust-msc-latest-linux | Bin port/linux/pkg-push.sh | 0 port/linux/pull-core.sh | 0 port/linux/push-core.sh | 0 port/linux/test-banchmark.sh | 0 port/linux/test/parse-test.cpp | 2 -- port/linux/update-compiler.sh | 0 src/PikaParser.c | 17 +++++++++-------- 14 files changed, 9 insertions(+), 10 deletions(-) mode change 100644 => 100755 port/linux/api-make-linux.sh mode change 100644 => 100755 port/linux/api-make-win10.sh mode change 100644 => 100755 port/linux/api-make.sh mode change 100644 => 100755 port/linux/gtest.sh mode change 100644 => 100755 port/linux/init.sh mode change 100644 => 100755 port/linux/make.sh mode change 100644 => 100755 port/linux/package/pikascript/rust-msc-latest-linux mode change 100644 => 100755 port/linux/pkg-push.sh mode change 100644 => 100755 port/linux/pull-core.sh mode change 100644 => 100755 port/linux/push-core.sh mode change 100644 => 100755 port/linux/test-banchmark.sh mode change 100644 => 100755 port/linux/update-compiler.sh diff --git a/port/linux/api-make-linux.sh b/port/linux/api-make-linux.sh old mode 100644 new mode 100755 diff --git a/port/linux/api-make-win10.sh b/port/linux/api-make-win10.sh old mode 100644 new mode 100755 diff --git a/port/linux/api-make.sh b/port/linux/api-make.sh old mode 100644 new mode 100755 diff --git a/port/linux/gtest.sh b/port/linux/gtest.sh old mode 100644 new mode 100755 diff --git a/port/linux/init.sh b/port/linux/init.sh old mode 100644 new mode 100755 diff --git a/port/linux/make.sh b/port/linux/make.sh old mode 100644 new mode 100755 diff --git a/port/linux/package/pikascript/rust-msc-latest-linux b/port/linux/package/pikascript/rust-msc-latest-linux old mode 100644 new mode 100755 diff --git a/port/linux/pkg-push.sh b/port/linux/pkg-push.sh old mode 100644 new mode 100755 diff --git a/port/linux/pull-core.sh b/port/linux/pull-core.sh old mode 100644 new mode 100755 diff --git a/port/linux/push-core.sh b/port/linux/push-core.sh old mode 100644 new mode 100755 diff --git a/port/linux/test-banchmark.sh b/port/linux/test-banchmark.sh old mode 100644 new mode 100755 diff --git a/port/linux/test/parse-test.cpp b/port/linux/test/parse-test.cpp index 833efc951..0281fdc8d 100644 --- a/port/linux/test/parse-test.cpp +++ b/port/linux/test/parse-test.cpp @@ -1400,8 +1400,6 @@ TEST(parser, for_list) { "B0\n" "0 JMP -1\n" "B0\n" - "0 PGC __list0\n" - "B0\n" ); stack_deinit(bs); args_deinit(bf); diff --git a/port/linux/update-compiler.sh b/port/linux/update-compiler.sh old mode 100644 new mode 100755 diff --git a/src/PikaParser.c b/src/PikaParser.c index 9a148e46d..0918bb721 100644 --- a/src/PikaParser.c +++ b/src/PikaParser.c @@ -1007,14 +1007,15 @@ char* AST_toPikaAsm(AST* ast, Args* buffs) { if (strEqu(blockType, "for")) { pikaAsm = ASM_addBlockDeepth(ast, buffs, pikaAsm, blockTypeNum); pikaAsm = strsAppend(buffs, pikaAsm, (char*)"0 JMP -1\n"); - pikaAsm = ASM_addBlockDeepth(ast, buffs, pikaAsm, blockTypeNum); - char* __list_x = strsCopy(buffs, "__list"); - char block_deepth_str[] = "0"; - block_deepth_str[0] += obj_getInt(ast, "blockDeepth"); - __list_x = strsAppend(runBuffs, __list_x, block_deepth_str); - pikaAsm = strsAppend(buffs, pikaAsm, (char*)"0 PGC "); - pikaAsm = strsAppend(buffs, pikaAsm, (char*)__list_x); - pikaAsm = strsAppend(buffs, pikaAsm, (char*)"\n"); + /* garbage collect for the list */ + // pikaAsm = ASM_addBlockDeepth(ast, buffs, pikaAsm, blockTypeNum); + // char* __list_x = strsCopy(buffs, "__list"); + // char block_deepth_str[] = "0"; + // block_deepth_str[0] += obj_getInt(ast, "blockDeepth"); + // __list_x = strsAppend(runBuffs, __list_x, block_deepth_str); + // pikaAsm = strsAppend(buffs, pikaAsm, (char*)"0 PGC "); + // pikaAsm = strsAppend(buffs, pikaAsm, (char*)__list_x); + // pikaAsm = strsAppend(buffs, pikaAsm, (char*)"\n"); } /* return when exit method */ if (strEqu(blockType, "def")) {