MCPcopy Index your code
hub / github.com/Shopify/go-lua / executeFunctionTable

Method executeFunctionTable

vm.go:932–946  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

930func (l *State) execute() { l.executeFunctionTable() }
931
932func (l *State) executeFunctionTable() {
933 ci := l.callInfo
934 closure, _ := l.stack[ci.function].(*luaClosure)
935 e := engine{callInfo: ci, frame: ci.frame, closure: closure, constants: closure.prototype.constants, l: l}
936 if l.hookMask&(MaskLine|MaskCount) != 0 {
937 if l.hookCount--; l.hookCount == 0 || l.hookMask&MaskLine != 0 {
938 l.traceExecution()
939 e.frame = e.callInfo.frame
940 }
941 }
942 i := e.callInfo.step()
943 f := jumpTable[i.opCode()]
944 for f, i = f(&e, i); f != nil; f, i = f(&e, i) {
945 }
946}
947
948func k(field int, constants []value, frame []value) value {
949 if 0 != field&bitRK { // OPT: Inline isConstant(field).

Callers 1

executeMethod · 0.95

Calls 3

traceExecutionMethod · 0.95
stepMethod · 0.80
opCodeMethod · 0.80

Tested by

no test coverage detected