diff options
author | Kevin B Kenny <kennykb@acm.org> | 2010-09-25 17:10:59 (GMT) |
---|---|---|
committer | Kevin B Kenny <kennykb@acm.org> | 2010-09-25 17:10:59 (GMT) |
commit | 7d3c5ee50772e024e914d513957937fe46ada16d (patch) | |
tree | b1eef0a8a7a97f7deb0c5c4dff84c59f516e01d6 /generic | |
parent | a65bf10cd7e281f19056e37d4bab5dae217c6394 (diff) | |
download | tcl-7d3c5ee50772e024e914d513957937fe46ada16d.zip tcl-7d3c5ee50772e024e914d513957937fe46ada16d.tar.gz tcl-7d3c5ee50772e024e914d513957937fe46ada16d.tar.bz2 |
added more tests; fixed a bug in initialization of BasicBlock obj
Diffstat (limited to 'generic')
-rw-r--r-- | generic/tclAssembly.c | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/generic/tclAssembly.c b/generic/tclAssembly.c index 40e79f5..689e9f9 100644 --- a/generic/tclAssembly.c +++ b/generic/tclAssembly.c @@ -39,6 +39,15 @@ static void AddInstructionToErrorInfo(Tcl_Interp* interp, Tcl_Obj* bcList, int index); static BasicBlock * AllocBB(AssembleEnv*); static int AssembleOneLine(AssembleEnv* envPtr); +static void BBAdjustStackDepth(BasicBlock* bbPtr, int consumed, int produced); +static void BBUpdateStackReqs(BasicBlock* bbPtr, int tblind, int count); +static void BBEmitInstInt1(AssembleEnv* assemEnvPtr, int tblind, + unsigned char opnd, int count); +static void BBEmitInstInt4(AssembleEnv* assemEnvPtr, int tblind, int opnd, + int count); +static void BBEmitInst1or4(AssembleEnv* assemEnvPtr, int tblind, int param, + int count); +static void BBEmitOpcode(AssembleEnv* assemEnvPtr, int tblind, int count); static int CheckNamespaceQualifiers(Tcl_Interp*, const char*, int); static int CheckOneByte(Tcl_Interp*, int); static int CheckSignedOneByte(Tcl_Interp*, int); @@ -1779,6 +1788,7 @@ AllocBB(AssembleEnv* assemEnvPtr) bb->visited = 0; bb->predecessor = NULL; + bb->may_fall_thru = 0; bb->jumpTargetLabelHashEntry = NULL; bb->successor1 = NULL; |