774 loadstring: function (chunk, env) |
774 loadstring: function (chunk, env) |
775 { |
775 { |
776 var c = new LBinaryChunk(this, chunk); |
776 var c = new LBinaryChunk(this, chunk); |
777 var f = new LFunction(this, c, env); |
777 var f = new LFunction(this, c, env); |
778 return new LValue(this, "function", f); |
778 return new LValue(this, "function", f); |
|
779 }, |
|
780 traceback: function () |
|
781 { |
|
782 var trace = []; |
|
783 for(var i=this.callstack.length-1; i>=0; i--) |
|
784 { |
|
785 var currframe = testvm.callstack[i]; |
|
786 var currfunc = currframe.f; |
|
787 var sourceName = (currfunc.sourceName||"=?").substr(1); |
|
788 var line = "?"; |
|
789 if(currfunc.sourceLines && currfunc.sourceLines[currframe.pc-1]) |
|
790 line = currfunc.sourceLines[currframe.pc-1]; |
|
791 trace.push({ sourceName: sourceName, line: line }); |
|
792 } |
|
793 return trace; |
779 } |
794 } |
780 }; |
795 }; |
781 |
796 |
782 try{ |
797 try{ |
783 var testvm = new LVM(); |
798 var testvm = new LVM(); |