RetroArch
Macros | Functions
lvm.c File Reference
#include "lprefix.h"
#include <float.h>
#include <limits.h>
#include <math.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include "lua.h"
#include "ldebug.h"
#include "ldo.h"
#include "lfunc.h"
#include "lgc.h"
#include "lobject.h"
#include "lopcodes.h"
#include "lstate.h"
#include "lstring.h"
#include "ltable.h"
#include "ltm.h"
#include "lvm.h"
Include dependency graph for lvm.c:

Macros

#define lvm_c
 
#define LUA_CORE
 
#define MAXTAGLOOP   2000
 
#define NBM   (l_mathlim(MANT_DIG))
 
#define tostring(L, o)   (ttisstring(o) || (cvt2str(o) && (luaO_tostring(L, o), 1)))
 
#define isemptystr(o)   (ttisshrstring(o) && tsvalue(o)->shrlen == 0)
 
#define NBITS   cast_int(sizeof(lua_Integer) * CHAR_BIT)
 
#define RA(i)   (base+GETARG_A(i))
 
#define RB(i)   check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base+GETARG_B(i))
 
#define RC(i)   check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base+GETARG_C(i))
 
#define RKB(i)
 
#define RKC(i)
 
#define dojump(ci, i, e)
 
#define donextjump(ci)   { i = *ci->u.l.savedpc; dojump(ci, i, 1); }
 
#define Protect(x)   { {x;}; base = ci->u.l.base; }
 
#define checkGC(L, c)
 
#define vmfetch()
 
#define vmdispatch(o)   switch(o)
 
#define vmcase(l)   case l:
 
#define vmbreak   break
 
#define gettableProtected(L, t, k, v)
 
#define settableProtected(L, t, k, v)
 

Functions

int luaV_tonumber_ (const TValue *obj, lua_Number *n)
 
int luaV_tointeger (const TValue *obj, lua_Integer *p, int mode)
 
static int forlimit (const TValue *obj, lua_Integer *p, lua_Integer step, int *stopnow)
 
void luaV_finishget (lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
 
void luaV_finishset (lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
 
static int l_strcmp (const TString *ls, const TString *rs)
 
static int LTintfloat (lua_Integer i, lua_Number f)
 
static int LEintfloat (lua_Integer i, lua_Number f)
 
static int LTnum (const TValue *l, const TValue *r)
 
static int LEnum (const TValue *l, const TValue *r)
 
int luaV_lessthan (lua_State *L, const TValue *l, const TValue *r)
 
int luaV_lessequal (lua_State *L, const TValue *l, const TValue *r)
 
int luaV_equalobj (lua_State *L, const TValue *t1, const TValue *t2)
 
static void copy2buff (StkId top, int n, char *buff)
 
void luaV_concat (lua_State *L, int total)
 
void luaV_objlen (lua_State *L, StkId ra, const TValue *rb)
 
lua_Integer luaV_div (lua_State *L, lua_Integer m, lua_Integer n)
 
lua_Integer luaV_mod (lua_State *L, lua_Integer m, lua_Integer n)
 
lua_Integer luaV_shiftl (lua_Integer x, lua_Integer y)
 
static LClosuregetcached (Proto *p, UpVal **encup, StkId base)
 
static void pushclosure (lua_State *L, Proto *p, UpVal **encup, StkId base, StkId ra)
 
void luaV_finishOp (lua_State *L)
 
void luaV_execute (lua_State *L)
 

Macro Definition Documentation

◆ checkGC

#define checkGC (   L,
  c 
)
Value:
{ luaC_condGC(L, L->top = (c), /* limit of live values */ \
Protect(L->top = ci->top)); /* restore top */ \
luai_threadyield(L); }
const GLubyte * c
Definition: glext.h:9812
#define luaC_condGC(L, pre, pos)
Definition: lgc.h:110
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί L(πίσω)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT
#define Protect(x)
Definition: lvm.c:747

◆ dojump

#define dojump (   ci,
  i,
 
)
Value:
{ int a = GETARG_A(i); \
if (a != 0) luaF_close(L, ci->u.l.base + a - 1); \
ci->u.l.savedpc += GETARG_sBx(i) + e; }
#define GETARG_A(i)
Definition: lopcodes.h:97
bool l
Definition: connect_wiiupro.c:37
void luaF_close(lua_State *L, StkId level)
Definition: lfunc.c:83
#define GETARG_sBx(i)
Definition: lopcodes.h:112
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί L(πίσω)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6844

◆ donextjump

#define donextjump (   ci)    { i = *ci->u.l.savedpc; dojump(ci, i, 1); }

◆ gettableProtected

#define gettableProtected (   L,
  t,
  k,
  v 
)
Value:
{ const TValue *slot; \
if (luaV_fastget(L,t,k,slot,luaH_get)) { setobj2s(L, v, slot); } \
else Protect(luaV_finishget(L,t,k,v,slot)); }
Definition: lobject.h:113
GLdouble GLdouble t
Definition: glext.h:6398
const TValue * luaH_get(Table *t, const TValue *key)
Definition: ltable.c:589
void luaV_finishget(lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
Definition: lvm.c:160
const GLdouble * v
Definition: glext.h:6391
#define luaV_fastget(L, t, k, slot, f)
Definition: lvm.h:58
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί L(πίσω)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT
#define setobj2s
Definition: lobject.h:271
#define Protect(x)
Definition: lvm.c:747

◆ isemptystr

#define isemptystr (   o)    (ttisshrstring(o) && tsvalue(o)->shrlen == 0)

◆ LUA_CORE

#define LUA_CORE

◆ lvm_c

#define lvm_c

◆ MAXTAGLOOP

#define MAXTAGLOOP   2000

◆ NBITS

#define NBITS   cast_int(sizeof(lua_Integer) * CHAR_BIT)

◆ NBM

#define NBM   (l_mathlim(MANT_DIG))

◆ Protect

#define Protect (   x)    { {x;}; base = ci->u.l.base; }

◆ RA

#define RA (   i)    (base+GETARG_A(i))

◆ RB

#define RB (   i)    check_exp(getBMode(GET_OPCODE(i)) == OpArgR, base+GETARG_B(i))

◆ RC

#define RC (   i)    check_exp(getCMode(GET_OPCODE(i)) == OpArgR, base+GETARG_C(i))

◆ RKB

#define RKB (   i)
Value:
ISK(GETARG_B(i)) ? k+INDEXK(GETARG_B(i)) : base+GETARG_B(i))
#define GETARG_B(i)
Definition: lopcodes.h:100
Definition: lopcodes.h:278
#define check_exp(c, e)
Definition: llimits.h:90
#define ISK(x)
Definition: lopcodes.h:137
#define GET_OPCODE(i)
Definition: lopcodes.h:89
#define INDEXK(r)
Definition: lopcodes.h:140
#define getBMode(m)
Definition: lopcodes.h:284

◆ RKC

#define RKC (   i)
Value:
ISK(GETARG_C(i)) ? k+INDEXK(GETARG_C(i)) : base+GETARG_C(i))
Definition: lopcodes.h:278
#define check_exp(c, e)
Definition: llimits.h:90
#define ISK(x)
Definition: lopcodes.h:137
#define GET_OPCODE(i)
Definition: lopcodes.h:89
#define INDEXK(r)
Definition: lopcodes.h:140
#define getCMode(m)
Definition: lopcodes.h:285
#define GETARG_C(i)
Definition: lopcodes.h:103

◆ settableProtected

#define settableProtected (   L,
  t,
  k,
  v 
)
Value:
{ const TValue *slot; \
if (!luaV_fastset(L,t,k,slot,luaH_get,v)) \
Protect(luaV_finishset(L,t,k,v,slot)); }
Definition: lobject.h:113
GLdouble GLdouble t
Definition: glext.h:6398
const TValue * luaH_get(Table *t, const TValue *key)
Definition: ltable.c:589
void luaV_finishset(lua_State *L, const TValue *t, TValue *key, StkId val, const TValue *slot)
Definition: lvm.c:203
const GLdouble * v
Definition: glext.h:6391
#define luaV_fastset(L, t, k, slot, f, v)
Definition: lvm.h:80
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί L(πίσω)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT

◆ tostring

#define tostring (   L,
 
)    (ttisstring(o) || (cvt2str(o) && (luaO_tostring(L, o), 1)))

◆ vmbreak

#define vmbreak   break

◆ vmcase

#define vmcase (   l)    case l:

◆ vmdispatch

#define vmdispatch (   o)    switch(o)

◆ vmfetch

#define vmfetch ( )
Value:
{ \
i = *(ci->u.l.savedpc++); \
if (L->hookmask & (LUA_MASKLINE | LUA_MASKCOUNT)) \
Protect(luaG_traceexec(L)); \
ra = RA(i); /* WARNING: any stack reallocation invalidates 'ra' */ \
lua_assert(base == ci->u.l.base); \
lua_assert(base <= L->top && L->top < L->stack + L->stacksize); \
}
void luaG_traceexec(lua_State *L)
Definition: ldebug.c:666
GLdouble GLdouble GLdouble GLdouble top
Definition: glext.h:11766
#define RA(i)
Definition: lvm.c:728
#define LUA_MASKLINE
Definition: lua.h:414
#define LUA_MASKCOUNT
Definition: lua.h:415
Ιστορικό Εικόνα Πληροφορίες Όλοι Οι Χρήστες Χειρίζονται Το Μενού Αριστερό Αναλογικό Αριστερό Αναλογικό Αριστερό Αναλογικό Y Αριστερό Αναλογικό Δεξί Αναλογικό X Δεξί Αναλογικό Δεξί Αναλογικό Y Δεξί Αναλογικό Σκανδάλη Όπλου Όπλο Aux A Όπλο Aux C Όπλο Select Όπλο D pad Κάτω Όπλο D pad Δεξιά Νεκρή Ζώνη Αναλογικού Σύνδεση Όλων Λήξη Χρόνου Σύνδεσης Hide Unbound Core Input Descriptors Κατάλογος Συσκευών Κατάλογος Ποντικιού Duty Cycle Keyboard Gamepad Mapping Enable Κουμπί D pad κάτω Κουμπί Κουμπί L(πίσω)" ) MSG_HASH( MENU_ENUM_LABEL_VALUE_INPUT_JOYPAD_LEFT

Function Documentation

◆ copy2buff()

static void copy2buff ( StkId  top,
int  n,
char *  buff 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ forlimit()

static int forlimit ( const TValue obj,
lua_Integer p,
lua_Integer  step,
int *  stopnow 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ getcached()

static LClosure* getcached ( Proto p,
UpVal **  encup,
StkId  base 
)
static
Here is the caller graph for this function:

◆ l_strcmp()

static int l_strcmp ( const TString ls,
const TString rs 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ LEintfloat()

static int LEintfloat ( lua_Integer  i,
lua_Number  f 
)
static
Here is the caller graph for this function:

◆ LEnum()

static int LEnum ( const TValue l,
const TValue r 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ LTintfloat()

static int LTintfloat ( lua_Integer  i,
lua_Number  f 
)
static
Here is the caller graph for this function:

◆ LTnum()

static int LTnum ( const TValue l,
const TValue r 
)
static
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_concat()

void luaV_concat ( lua_State L,
int  total 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_div()

lua_Integer luaV_div ( lua_State L,
lua_Integer  m,
lua_Integer  n 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_equalobj()

int luaV_equalobj ( lua_State L,
const TValue t1,
const TValue t2 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_execute()

void luaV_execute ( lua_State L)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_finishget()

void luaV_finishget ( lua_State L,
const TValue t,
TValue key,
StkId  val,
const TValue slot 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_finishOp()

void luaV_finishOp ( lua_State L)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_finishset()

void luaV_finishset ( lua_State L,
const TValue t,
TValue key,
StkId  val,
const TValue slot 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_lessequal()

int luaV_lessequal ( lua_State L,
const TValue l,
const TValue r 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_lessthan()

int luaV_lessthan ( lua_State L,
const TValue l,
const TValue r 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_mod()

lua_Integer luaV_mod ( lua_State L,
lua_Integer  m,
lua_Integer  n 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_objlen()

void luaV_objlen ( lua_State L,
StkId  ra,
const TValue rb 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_shiftl()

lua_Integer luaV_shiftl ( lua_Integer  x,
lua_Integer  y 
)
Here is the caller graph for this function:

◆ luaV_tointeger()

int luaV_tointeger ( const TValue obj,
lua_Integer p,
int  mode 
)
Here is the call graph for this function:
Here is the caller graph for this function:

◆ luaV_tonumber_()

int luaV_tonumber_ ( const TValue obj,
lua_Number n 
)
Here is the call graph for this function:

◆ pushclosure()

static void pushclosure ( lua_State L,
Proto p,
UpVal **  encup,
StkId  base,
StkId  ra 
)
static
Here is the call graph for this function:
Here is the caller graph for this function: