put mnvmExecBodyInline under a JIT_START check
This commit is contained in:
parent
426187be07
commit
e979faea0e
3
src/vm.c
3
src/vm.c
@ -831,12 +831,15 @@ Scope* m_scope(Body* body, Scope* psc, u16 varAm, i32 initVarAm, B* initVars) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
B execBlockInlineImpl(Body* body, Scope* sc, Block* block) { return execBodyInlineI(block->bodies[0], sc, block); }
|
B execBlockInlineImpl(Body* body, Scope* sc, Block* block) { return execBodyInlineI(block->bodies[0], sc, block); }
|
||||||
|
|
||||||
|
#if JIT_START != -1
|
||||||
B mnvmExecBodyInline(Body* body, Scope* sc) {
|
B mnvmExecBodyInline(Body* body, Scope* sc) {
|
||||||
Nvm_res r = m_nvm(body);
|
Nvm_res r = m_nvm(body);
|
||||||
body->nvm = r.p;
|
body->nvm = r.p;
|
||||||
body->nvmRefs = r.refs;
|
body->nvmRefs = r.refs;
|
||||||
return evalJIT(body, sc, body->nvm);
|
return evalJIT(body, sc, body->nvm);
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
2
src/vm.h
2
src/vm.h
@ -167,7 +167,9 @@ static B execBlockInline(Block* block, Scope* sc) { // doesn't consume; executes
|
|||||||
return execBlockInlineImpl(block->bodies[0], ptr_inc(sc), block);
|
return execBlockInlineImpl(block->bodies[0], ptr_inc(sc), block);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#if JIT_START != -1
|
||||||
NOINLINE B mnvmExecBodyInline(Body* body, Scope* sc);
|
NOINLINE B mnvmExecBodyInline(Body* body, Scope* sc);
|
||||||
|
#endif
|
||||||
FORCE_INLINE B execBodyInlineI(Body* body, Scope* sc, Block* block) { // consumes sc, unlike execBlockInline
|
FORCE_INLINE B execBodyInlineI(Body* body, Scope* sc, Block* block) { // consumes sc, unlike execBlockInline
|
||||||
#if JIT_START != -1
|
#if JIT_START != -1
|
||||||
if (LIKELY(body->nvm != NULL)) return evalJIT(body, sc, body->nvm);
|
if (LIKELY(body->nvm != NULL)) return evalJIT(body, sc, body->nvm);
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user