luau/CodeGen/src/CodeGenUtils.h

38 lines
1.7 KiB
C
Raw Normal View History

2022-10-27 23:22:49 +01:00
// This file is part of the Luau programming language and is licensed under MIT License; see LICENSE.txt for details
#pragma once
#include "lobject.h"
namespace Luau
{
namespace CodeGen
{
2023-04-14 13:05:27 +01:00
bool forgLoopTableIter(lua_State* L, Table* h, int index, TValue* ra);
2022-10-27 23:22:49 +01:00
bool forgLoopNodeIter(lua_State* L, Table* h, int index, TValue* ra);
bool forgLoopNonTableFallback(lua_State* L, int insnA, int aux);
void forgPrepXnextFallback(lua_State* L, TValue* ra, int pc);
2022-11-04 17:02:37 +00:00
Closure* callProlog(lua_State* L, TValue* ra, StkId argtop, int nresults);
void callEpilogC(lua_State* L, int nresults, int n);
2023-10-06 18:31:16 +01:00
#define CALL_FALLBACK_YIELD 1
2023-03-31 13:21:14 +01:00
Closure* callFallback(lua_State* L, StkId ra, StkId argtop, int nresults);
2023-03-24 17:34:14 +00:00
2023-05-19 19:59:59 +01:00
const Instruction* executeGETGLOBAL(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executeSETGLOBAL(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executeGETTABLEKS(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executeSETTABLEKS(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executeNAMECALL(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executeSETLIST(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executeFORGPREP(lua_State* L, const Instruction* pc, StkId base, TValue* k);
void executeGETVARARGSMultRet(lua_State* L, const Instruction* pc, StkId base, int rai);
void executeGETVARARGSConst(lua_State* L, StkId base, int rai, int b);
2023-05-19 19:59:59 +01:00
const Instruction* executeDUPCLOSURE(lua_State* L, const Instruction* pc, StkId base, TValue* k);
const Instruction* executePREPVARARGS(lua_State* L, const Instruction* pc, StkId base, TValue* k);
2022-10-27 23:22:49 +01:00
} // namespace CodeGen
} // namespace Luau