mirror of
https://github.com/LuaJIT/LuaJIT.git
synced 2025-02-07 15:14:08 +00:00
DynASM: Fix warnings.
Reported by Ilija Tovilo.
This commit is contained in:
parent
2d8300c194
commit
51fb2f2c3a
@ -70,7 +70,7 @@ struct dasm_State {
|
|||||||
size_t lgsize;
|
size_t lgsize;
|
||||||
int *pclabels; /* PC label chains/pos ptrs. */
|
int *pclabels; /* PC label chains/pos ptrs. */
|
||||||
size_t pcsize;
|
size_t pcsize;
|
||||||
void **globals; /* Array of globals (bias -10). */
|
void **globals; /* Array of globals. */
|
||||||
dasm_Section *section; /* Pointer to active section. */
|
dasm_Section *section; /* Pointer to active section. */
|
||||||
size_t codesize; /* Total size of all code sections. */
|
size_t codesize; /* Total size of all code sections. */
|
||||||
int maxsection; /* 0 <= sectionidx < maxsection. */
|
int maxsection; /* 0 <= sectionidx < maxsection. */
|
||||||
@ -87,7 +87,6 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
{
|
{
|
||||||
dasm_State *D;
|
dasm_State *D;
|
||||||
size_t psz = 0;
|
size_t psz = 0;
|
||||||
int i;
|
|
||||||
Dst_REF = NULL;
|
Dst_REF = NULL;
|
||||||
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
||||||
D = Dst_REF;
|
D = Dst_REF;
|
||||||
@ -98,12 +97,7 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
D->pcsize = 0;
|
D->pcsize = 0;
|
||||||
D->globals = NULL;
|
D->globals = NULL;
|
||||||
D->maxsection = maxsection;
|
D->maxsection = maxsection;
|
||||||
for (i = 0; i < maxsection; i++) {
|
memset((void *)D->sections, 0, maxsection * sizeof(dasm_Section));
|
||||||
D->sections[i].buf = NULL; /* Need this for pass3. */
|
|
||||||
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
|
||||||
D->sections[i].bsize = 0;
|
|
||||||
D->sections[i].epos = 0; /* Wrong, but is recalculated after resize. */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free DynASM state. */
|
/* Free DynASM state. */
|
||||||
@ -123,7 +117,7 @@ void dasm_free(Dst_DECL)
|
|||||||
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
||||||
{
|
{
|
||||||
dasm_State *D = Dst_REF;
|
dasm_State *D = Dst_REF;
|
||||||
D->globals = gl - 10; /* Negative bias to compensate for locals. */
|
D->globals = gl;
|
||||||
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -372,7 +366,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
break;
|
break;
|
||||||
case DASM_REL_LG:
|
case DASM_REL_LG:
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
n = (int)((ptrdiff_t)D->globals[-n] - (ptrdiff_t)cp - 4);
|
n = (int)((ptrdiff_t)D->globals[-n-10] - (ptrdiff_t)cp - 4);
|
||||||
goto patchrel;
|
goto patchrel;
|
||||||
}
|
}
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
@ -396,7 +390,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_LG:
|
case DASM_LABEL_LG:
|
||||||
ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n);
|
ins &= 2047; if (ins >= 20) D->globals[ins-20] = (void *)(base + n);
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_PC: break;
|
case DASM_LABEL_PC: break;
|
||||||
case DASM_IMM:
|
case DASM_IMM:
|
||||||
|
@ -72,7 +72,7 @@ struct dasm_State {
|
|||||||
size_t lgsize;
|
size_t lgsize;
|
||||||
int *pclabels; /* PC label chains/pos ptrs. */
|
int *pclabels; /* PC label chains/pos ptrs. */
|
||||||
size_t pcsize;
|
size_t pcsize;
|
||||||
void **globals; /* Array of globals (bias -10). */
|
void **globals; /* Array of globals. */
|
||||||
dasm_Section *section; /* Pointer to active section. */
|
dasm_Section *section; /* Pointer to active section. */
|
||||||
size_t codesize; /* Total size of all code sections. */
|
size_t codesize; /* Total size of all code sections. */
|
||||||
int maxsection; /* 0 <= sectionidx < maxsection. */
|
int maxsection; /* 0 <= sectionidx < maxsection. */
|
||||||
@ -89,7 +89,6 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
{
|
{
|
||||||
dasm_State *D;
|
dasm_State *D;
|
||||||
size_t psz = 0;
|
size_t psz = 0;
|
||||||
int i;
|
|
||||||
Dst_REF = NULL;
|
Dst_REF = NULL;
|
||||||
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
||||||
D = Dst_REF;
|
D = Dst_REF;
|
||||||
@ -100,12 +99,7 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
D->pcsize = 0;
|
D->pcsize = 0;
|
||||||
D->globals = NULL;
|
D->globals = NULL;
|
||||||
D->maxsection = maxsection;
|
D->maxsection = maxsection;
|
||||||
for (i = 0; i < maxsection; i++) {
|
memset((void *)D->sections, 0, maxsection * sizeof(dasm_Section));
|
||||||
D->sections[i].buf = NULL; /* Need this for pass3. */
|
|
||||||
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
|
||||||
D->sections[i].bsize = 0;
|
|
||||||
D->sections[i].epos = 0; /* Wrong, but is recalculated after resize. */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free DynASM state. */
|
/* Free DynASM state. */
|
||||||
@ -125,7 +119,7 @@ void dasm_free(Dst_DECL)
|
|||||||
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
||||||
{
|
{
|
||||||
dasm_State *D = Dst_REF;
|
dasm_State *D = Dst_REF;
|
||||||
D->globals = gl - 10; /* Negative bias to compensate for locals. */
|
D->globals = gl;
|
||||||
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -444,7 +438,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
break;
|
break;
|
||||||
case DASM_REL_LG:
|
case DASM_REL_LG:
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
ptrdiff_t na = (ptrdiff_t)D->globals[-n] - (ptrdiff_t)cp + 4;
|
ptrdiff_t na = (ptrdiff_t)D->globals[-n-10] - (ptrdiff_t)cp + 4;
|
||||||
n = (int)na;
|
n = (int)na;
|
||||||
CK((ptrdiff_t)n == na, RANGE_REL);
|
CK((ptrdiff_t)n == na, RANGE_REL);
|
||||||
goto patchrel;
|
goto patchrel;
|
||||||
@ -487,7 +481,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
goto patchrel;
|
goto patchrel;
|
||||||
}
|
}
|
||||||
case DASM_LABEL_LG:
|
case DASM_LABEL_LG:
|
||||||
ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n);
|
ins &= 2047; if (ins >= 20) D->globals[ins-20] = (void *)(base + n);
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_PC: break;
|
case DASM_LABEL_PC: break;
|
||||||
case DASM_IMM:
|
case DASM_IMM:
|
||||||
|
@ -69,7 +69,7 @@ struct dasm_State {
|
|||||||
size_t lgsize;
|
size_t lgsize;
|
||||||
int *pclabels; /* PC label chains/pos ptrs. */
|
int *pclabels; /* PC label chains/pos ptrs. */
|
||||||
size_t pcsize;
|
size_t pcsize;
|
||||||
void **globals; /* Array of globals (bias -10). */
|
void **globals; /* Array of globals. */
|
||||||
dasm_Section *section; /* Pointer to active section. */
|
dasm_Section *section; /* Pointer to active section. */
|
||||||
size_t codesize; /* Total size of all code sections. */
|
size_t codesize; /* Total size of all code sections. */
|
||||||
int maxsection; /* 0 <= sectionidx < maxsection. */
|
int maxsection; /* 0 <= sectionidx < maxsection. */
|
||||||
@ -86,7 +86,6 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
{
|
{
|
||||||
dasm_State *D;
|
dasm_State *D;
|
||||||
size_t psz = 0;
|
size_t psz = 0;
|
||||||
int i;
|
|
||||||
Dst_REF = NULL;
|
Dst_REF = NULL;
|
||||||
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
||||||
D = Dst_REF;
|
D = Dst_REF;
|
||||||
@ -97,12 +96,7 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
D->pcsize = 0;
|
D->pcsize = 0;
|
||||||
D->globals = NULL;
|
D->globals = NULL;
|
||||||
D->maxsection = maxsection;
|
D->maxsection = maxsection;
|
||||||
for (i = 0; i < maxsection; i++) {
|
memset((void *)D->sections, 0, maxsection * sizeof(dasm_Section));
|
||||||
D->sections[i].buf = NULL; /* Need this for pass3. */
|
|
||||||
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
|
||||||
D->sections[i].bsize = 0;
|
|
||||||
D->sections[i].epos = 0; /* Wrong, but is recalculated after resize. */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free DynASM state. */
|
/* Free DynASM state. */
|
||||||
@ -122,7 +116,7 @@ void dasm_free(Dst_DECL)
|
|||||||
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
||||||
{
|
{
|
||||||
dasm_State *D = Dst_REF;
|
dasm_State *D = Dst_REF;
|
||||||
D->globals = gl - 10; /* Negative bias to compensate for locals. */
|
D->globals = gl;
|
||||||
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -350,7 +344,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
break;
|
break;
|
||||||
case DASM_REL_LG:
|
case DASM_REL_LG:
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
n = (int)((ptrdiff_t)D->globals[-n] - (ptrdiff_t)cp);
|
n = (int)((ptrdiff_t)D->globals[-n-10] - (ptrdiff_t)cp);
|
||||||
goto patchrel;
|
goto patchrel;
|
||||||
}
|
}
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
@ -369,7 +363,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_LG:
|
case DASM_LABEL_LG:
|
||||||
ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n);
|
ins &= 2047; if (ins >= 20) D->globals[ins-20] = (void *)(base + n);
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_PC: break;
|
case DASM_LABEL_PC: break;
|
||||||
case DASM_IMMS:
|
case DASM_IMMS:
|
||||||
|
@ -69,7 +69,7 @@ struct dasm_State {
|
|||||||
size_t lgsize;
|
size_t lgsize;
|
||||||
int *pclabels; /* PC label chains/pos ptrs. */
|
int *pclabels; /* PC label chains/pos ptrs. */
|
||||||
size_t pcsize;
|
size_t pcsize;
|
||||||
void **globals; /* Array of globals (bias -10). */
|
void **globals; /* Array of globals. */
|
||||||
dasm_Section *section; /* Pointer to active section. */
|
dasm_Section *section; /* Pointer to active section. */
|
||||||
size_t codesize; /* Total size of all code sections. */
|
size_t codesize; /* Total size of all code sections. */
|
||||||
int maxsection; /* 0 <= sectionidx < maxsection. */
|
int maxsection; /* 0 <= sectionidx < maxsection. */
|
||||||
@ -86,7 +86,6 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
{
|
{
|
||||||
dasm_State *D;
|
dasm_State *D;
|
||||||
size_t psz = 0;
|
size_t psz = 0;
|
||||||
int i;
|
|
||||||
Dst_REF = NULL;
|
Dst_REF = NULL;
|
||||||
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
||||||
D = Dst_REF;
|
D = Dst_REF;
|
||||||
@ -97,12 +96,7 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
D->pcsize = 0;
|
D->pcsize = 0;
|
||||||
D->globals = NULL;
|
D->globals = NULL;
|
||||||
D->maxsection = maxsection;
|
D->maxsection = maxsection;
|
||||||
for (i = 0; i < maxsection; i++) {
|
memset((void *)D->sections, 0, maxsection * sizeof(dasm_Section));
|
||||||
D->sections[i].buf = NULL; /* Need this for pass3. */
|
|
||||||
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
|
||||||
D->sections[i].bsize = 0;
|
|
||||||
D->sections[i].epos = 0; /* Wrong, but is recalculated after resize. */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free DynASM state. */
|
/* Free DynASM state. */
|
||||||
@ -122,7 +116,7 @@ void dasm_free(Dst_DECL)
|
|||||||
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
||||||
{
|
{
|
||||||
dasm_State *D = Dst_REF;
|
dasm_State *D = Dst_REF;
|
||||||
D->globals = gl - 10; /* Negative bias to compensate for locals. */
|
D->globals = gl;
|
||||||
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -354,7 +348,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
break;
|
break;
|
||||||
case DASM_REL_LG:
|
case DASM_REL_LG:
|
||||||
if (n < 0) {
|
if (n < 0) {
|
||||||
n = (int)((ptrdiff_t)D->globals[-n] - (ptrdiff_t)cp);
|
n = (int)((ptrdiff_t)D->globals[-n-10] - (ptrdiff_t)cp);
|
||||||
goto patchrel;
|
goto patchrel;
|
||||||
}
|
}
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
@ -368,7 +362,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
cp[-1] |= ((n+4) & ((ins & 2048) ? 0x0000fffc: 0x03fffffc));
|
cp[-1] |= ((n+4) & ((ins & 2048) ? 0x0000fffc: 0x03fffffc));
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_LG:
|
case DASM_LABEL_LG:
|
||||||
ins &= 2047; if (ins >= 20) D->globals[ins-10] = (void *)(base + n);
|
ins &= 2047; if (ins >= 20) D->globals[ins-20] = (void *)(base + n);
|
||||||
break;
|
break;
|
||||||
case DASM_LABEL_PC: break;
|
case DASM_LABEL_PC: break;
|
||||||
case DASM_IMM:
|
case DASM_IMM:
|
||||||
|
@ -68,7 +68,7 @@ struct dasm_State {
|
|||||||
size_t lgsize;
|
size_t lgsize;
|
||||||
int *pclabels; /* PC label chains/pos ptrs. */
|
int *pclabels; /* PC label chains/pos ptrs. */
|
||||||
size_t pcsize;
|
size_t pcsize;
|
||||||
void **globals; /* Array of globals (bias -10). */
|
void **globals; /* Array of globals. */
|
||||||
dasm_Section *section; /* Pointer to active section. */
|
dasm_Section *section; /* Pointer to active section. */
|
||||||
size_t codesize; /* Total size of all code sections. */
|
size_t codesize; /* Total size of all code sections. */
|
||||||
int maxsection; /* 0 <= sectionidx < maxsection. */
|
int maxsection; /* 0 <= sectionidx < maxsection. */
|
||||||
@ -85,7 +85,6 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
{
|
{
|
||||||
dasm_State *D;
|
dasm_State *D;
|
||||||
size_t psz = 0;
|
size_t psz = 0;
|
||||||
int i;
|
|
||||||
Dst_REF = NULL;
|
Dst_REF = NULL;
|
||||||
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
DASM_M_GROW(Dst, struct dasm_State, Dst_REF, psz, DASM_PSZ(maxsection));
|
||||||
D = Dst_REF;
|
D = Dst_REF;
|
||||||
@ -96,12 +95,7 @@ void dasm_init(Dst_DECL, int maxsection)
|
|||||||
D->pcsize = 0;
|
D->pcsize = 0;
|
||||||
D->globals = NULL;
|
D->globals = NULL;
|
||||||
D->maxsection = maxsection;
|
D->maxsection = maxsection;
|
||||||
for (i = 0; i < maxsection; i++) {
|
memset((void *)D->sections, 0, maxsection * sizeof(dasm_Section));
|
||||||
D->sections[i].buf = NULL; /* Need this for pass3. */
|
|
||||||
D->sections[i].rbuf = D->sections[i].buf - DASM_SEC2POS(i);
|
|
||||||
D->sections[i].bsize = 0;
|
|
||||||
D->sections[i].epos = 0; /* Wrong, but is recalculated after resize. */
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Free DynASM state. */
|
/* Free DynASM state. */
|
||||||
@ -121,7 +115,7 @@ void dasm_free(Dst_DECL)
|
|||||||
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
void dasm_setupglobal(Dst_DECL, void **gl, unsigned int maxgl)
|
||||||
{
|
{
|
||||||
dasm_State *D = Dst_REF;
|
dasm_State *D = Dst_REF;
|
||||||
D->globals = gl - 10; /* Negative bias to compensate for locals. */
|
D->globals = gl;
|
||||||
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
DASM_M_GROW(Dst, int, D->lglabels, D->lgsize, (10+maxgl)*sizeof(int));
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -445,7 +439,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DASM_REL_LG: p++; if (n >= 0) goto rel_pc;
|
case DASM_REL_LG: p++; if (n >= 0) goto rel_pc;
|
||||||
b++; n = (int)(ptrdiff_t)D->globals[-n];
|
b++; n = (int)(ptrdiff_t)D->globals[-n-10];
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
case DASM_REL_A: rel_a:
|
case DASM_REL_A: rel_a:
|
||||||
n -= (unsigned int)(ptrdiff_t)(cp+4); goto wd; /* !x64 */
|
n -= (unsigned int)(ptrdiff_t)(cp+4); goto wd; /* !x64 */
|
||||||
@ -459,7 +453,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
}
|
}
|
||||||
case DASM_IMM_LG:
|
case DASM_IMM_LG:
|
||||||
p++;
|
p++;
|
||||||
if (n < 0) { dasma((ptrdiff_t)D->globals[-n]); break; }
|
if (n < 0) { dasma((ptrdiff_t)D->globals[-n-10]); break; }
|
||||||
/* fallthrough */
|
/* fallthrough */
|
||||||
case DASM_IMM_PC: {
|
case DASM_IMM_PC: {
|
||||||
int *pb = DASM_POS2PTR(D, n);
|
int *pb = DASM_POS2PTR(D, n);
|
||||||
@ -469,7 +463,7 @@ int dasm_encode(Dst_DECL, void *buffer)
|
|||||||
case DASM_LABEL_LG: {
|
case DASM_LABEL_LG: {
|
||||||
int idx = *p++;
|
int idx = *p++;
|
||||||
if (idx >= 10)
|
if (idx >= 10)
|
||||||
D->globals[idx] = (void *)(base + (*p == DASM_SETLABEL ? *b : n));
|
D->globals[idx-10] = (void *)(base + (*p == DASM_SETLABEL ? *b : n));
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
case DASM_LABEL_PC: case DASM_SETLABEL: break;
|
case DASM_LABEL_PC: case DASM_SETLABEL: break;
|
||||||
|
Loading…
Reference in New Issue
Block a user