front end optimization&stack overflow prompt

change parameter type to avoid unnecessary copies of string.
change stack depth from 65536<<4 to 16+(65536<<2).
now you could know stack overflow when it happens
This commit is contained in:
Valk Richard Li
2021-06-07 23:53:43 +08:00
parent 9f2c31149a
commit 3deea632f8
10 changed files with 172 additions and 396 deletions
+2 -2
View File
@@ -55,7 +55,7 @@ nasal_val* builtin_right(std::vector<nasal_val*>&,nasal_gc&);
nasal_val* builtin_cmp(std::vector<nasal_val*>&,nasal_gc&);
nasal_val* builtin_chr(std::vector<nasal_val*>&,nasal_gc&);
void builtin_err(std::string func_name,std::string info)
void builtin_err(const char* func_name,std::string info)
{
std::cout<<">> [vm] "<<func_name<<": "<<info<<".\n";
return;
@@ -65,7 +65,7 @@ void builtin_err(std::string func_name,std::string info)
// this table must end with {"",NULL}
struct FUNC_TABLE
{
std::string name;
const char* name;
nasal_val* (*func)(std::vector<nasal_val*>&,nasal_gc&);
} builtin_func[]=
{