mirror of
https://github.com/love2d/megasource.git
synced 2026-08-19 20:20:11 +02:00
Update LuaJIT to the latest 2.1.0 source (1d8b747)
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
|// Low-level VM code for x86 CPUs.
|
||||
|// Bytecode interpreter, fast functions and helper functions.
|
||||
|// Copyright (C) 2005-2017 Mike Pall. See Copyright Notice in luajit.h
|
||||
|// Copyright (C) 2005-2020 Mike Pall. See Copyright Notice in luajit.h
|
||||
|
|
||||
|.if P64
|
||||
|.arch x64
|
||||
@@ -1522,7 +1522,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| mov dword [BASE-4], LJ_TTAB // Store metatable as default result.
|
||||
| mov [BASE-8], TAB:RB
|
||||
| mov RA, TAB:RB->hmask
|
||||
| and RA, STR:RC->hash
|
||||
| and RA, STR:RC->sid
|
||||
| imul RA, #NODE
|
||||
| add NODE:RA, TAB:RB->node
|
||||
|3: // Rearranged logic, because we expect _not_ to find the key.
|
||||
@@ -2233,7 +2233,7 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| xorps xmm4, xmm4; jmp <1 // Return +-Inf and +-0.
|
||||
|
|
||||
|.macro math_minmax, name, cmovop, sseop
|
||||
| .ffunc name
|
||||
| .ffunc_1 name
|
||||
| mov RA, 2
|
||||
| cmp dword [BASE+4], LJ_TISNUM
|
||||
|.if DUALNUM
|
||||
@@ -2960,10 +2960,8 @@ static void build_subroutines(BuildCtx *ctx)
|
||||
| jmp <2
|
||||
|
|
||||
|9: // Rethrow error from the right C frame.
|
||||
| neg RD
|
||||
| mov FCARG1, L:RB
|
||||
| mov FCARG2, RD
|
||||
| call extern lj_err_throw@8 // (lua_State *L, int errcode)
|
||||
| call extern lj_err_run@4 // (lua_State *L)
|
||||
|.endif
|
||||
|
|
||||
|//-----------------------------------------------------------------------
|
||||
@@ -4286,7 +4284,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
||||
| mov TAB:RB, [BASE+RB*8]
|
||||
|->BC_TGETS_Z: // RB = GCtab *, RC = GCstr *, refetches PC_RA.
|
||||
| mov RA, TAB:RB->hmask
|
||||
| and RA, STR:RC->hash
|
||||
| and RA, STR:RC->sid
|
||||
| imul RA, #NODE
|
||||
| add NODE:RA, TAB:RB->node
|
||||
|1:
|
||||
@@ -4457,7 +4455,7 @@ static void build_ins(BuildCtx *ctx, BCOp op, int defop)
|
||||
| mov TAB:RB, [BASE+RB*8]
|
||||
|->BC_TSETS_Z: // RB = GCtab *, RC = GCstr *, refetches PC_RA.
|
||||
| mov RA, TAB:RB->hmask
|
||||
| and RA, STR:RC->hash
|
||||
| and RA, STR:RC->sid
|
||||
| imul RA, #NODE
|
||||
| mov byte TAB:RB->nomm, 0 // Clear metamethod cache.
|
||||
| add NODE:RA, TAB:RB->node
|
||||
@@ -5548,7 +5546,7 @@ static void emit_asm_debug(BuildCtx *ctx)
|
||||
".LEFDE1:\n\n", (int)ctx->codesz - fcofs);
|
||||
#endif
|
||||
#if !LJ_NO_UNWIND
|
||||
#if (defined(__sun__) && defined(__svr4__))
|
||||
#if LJ_TARGET_SOLARIS
|
||||
#if LJ_64
|
||||
fprintf(ctx->fp, "\t.section .eh_frame,\"a\",@unwind\n");
|
||||
#else
|
||||
|
||||
Reference in New Issue
Block a user