Skip to content

Commit

Permalink
Merge branch 'master' into v2.1
Browse files Browse the repository at this point in the history
  • Loading branch information
Mike Pall committed Jun 7, 2017
2 parents 79fe578 + c7c3c4d commit 0e4a551
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 10 deletions.
9 changes: 5 additions & 4 deletions src/lj_asm_mips.h
Original file line number Diff line number Diff line change
Expand Up @@ -65,10 +65,9 @@ static Reg ra_alloc2(ASMState *as, IRIns *ir, RegSet allow)
static void asm_sparejump_setup(ASMState *as)
{
MCode *mxp = as->mcbot;
/* Assumes sizeof(MCLink) == 8. */
if (((uintptr_t)mxp & (LJ_PAGESIZE-1)) == 8) {
if (((uintptr_t)mxp & (LJ_PAGESIZE-1)) == sizeof(MCLink)) {
lua_assert(MIPSI_NOP == 0);
memset(mxp+2, 0, MIPS_SPAREJUMP*8);
memset(mxp, 0, MIPS_SPAREJUMP*2*sizeof(MCode));
mxp += MIPS_SPAREJUMP*2;
lua_assert(mxp < as->mctop);
lj_mcode_sync(as->mcbot, mxp);
Expand Down Expand Up @@ -2480,7 +2479,9 @@ void lj_asm_patchexit(jit_State *J, GCtrace *T, ExitNo exitno, MCode *target)
if (!cstart) cstart = p-1;
} else { /* Branch out of range. Use spare jump slot in mcarea. */
int i;
for (i = 2; i < 2+MIPS_SPAREJUMP*2; i += 2) {
for (i = (int)(sizeof(MCLink)/sizeof(MCode));
i < (int)(sizeof(MCLink)/sizeof(MCode)+MIPS_SPAREJUMP*2);
i += 2) {
if (mcarea[i] == tjump) {
delta = mcarea+i - p;
goto patchbranch;
Expand Down
6 changes: 6 additions & 0 deletions src/lj_jit.h
Original file line number Diff line number Diff line change
Expand Up @@ -158,6 +158,12 @@ typedef uint8_t MCode;
typedef uint32_t MCode;
#endif

/* Linked list of MCode areas. */
typedef struct MCLink {
MCode *next; /* Next area. */
size_t size; /* Size of current area. */
} MCLink;

/* Stack snapshot header. */
typedef struct SnapShot {
uint16_t mapofs; /* Offset into snapshot map. */
Expand Down
6 changes: 0 additions & 6 deletions src/lj_mcode.c
Original file line number Diff line number Diff line change
Expand Up @@ -272,12 +272,6 @@ static void *mcode_alloc(jit_State *J, size_t sz)

/* -- MCode area management ----------------------------------------------- */

/* Linked list of MCode areas. */
typedef struct MCLink {
MCode *next; /* Next area. */
size_t size; /* Size of current area. */
} MCLink;

/* Allocate a new MCode area. */
static void mcode_allocarea(jit_State *J)
{
Expand Down

0 comments on commit 0e4a551

Please sign in to comment.