mirror of https://github.com/rusefi/lua.git
fitting a StackValue structure into 32 bytes (for 64-bit machines)
This commit is contained in:
parent
93fd67b793
commit
5a3f26f855
17
lobject.h
17
lobject.h
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
** $Id: lobject.h,v 2.127 2017/11/03 12:12:30 roberto Exp roberto $
|
||||
** $Id: lobject.h,v 2.128 2017/11/03 17:22:54 roberto Exp roberto $
|
||||
** Type definitions for Lua objects
|
||||
** See Copyright Notice in lua.h
|
||||
*/
|
||||
|
@ -314,26 +314,27 @@ typedef union StackValue {
|
|||
struct {
|
||||
TValuefields;
|
||||
lu_byte callstatus_;
|
||||
short nresults; /* expected number of results from this function */
|
||||
char nresults; /* expected number of results from this function */
|
||||
union {
|
||||
unsigned char funcidx; /* called-function index */
|
||||
unsigned char nyield; /* number of values yielded */
|
||||
} u2;
|
||||
unsigned short previous; /* difference to previous 'func' */
|
||||
unsigned short framesize; /* stack space available for this function */
|
||||
union {
|
||||
unsigned short funcidx; /* called-function index */
|
||||
unsigned short nyield; /* number of values yielded */
|
||||
} u2;
|
||||
union {
|
||||
struct { /* only for Lua functions */
|
||||
const Instruction *savedpc;
|
||||
} l;
|
||||
struct { /* only for C functions */
|
||||
lua_KFunction k; /* continuation in case of yields */
|
||||
ptrdiff_t old_errfunc;
|
||||
lua_KContext ctx; /* context info. in case of yields */
|
||||
int old_errfunc;
|
||||
int ctx; /* context info. in case of yields */
|
||||
} c;
|
||||
} u;
|
||||
} stkci;
|
||||
} StackValue;
|
||||
|
||||
|
||||
#define callstatus(ar) ((ar)->stkci.callstatus_)
|
||||
|
||||
/* top of a function (first element after its frame) */
|
||||
|
|
Loading…
Reference in New Issue