x64: Fix getmetatable(lightuserdata).

This commit is contained in:
Mike Pall 2011-04-05 12:59:03 +02:00
parent 314995aebf
commit 5b7a8baea4
4 changed files with 1919 additions and 1908 deletions

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -1390,9 +1390,17 @@ static void build_subroutines(BuildCtx *ctx, int cmov, int sse)
|
|6:
| cmp RB, LJ_TUDATA; je <1
| cmp RB, LJ_TISNUM; ja >7
| mov RB, LJ_TNUMX
|.if X64
| cmp RB, LJ_TNUMX; ja >8
| cmp RB, LJ_TISNUM; jbe >7
| mov RB, LJ_TLIGHTUD
| jmp >8
|7:
|.else
| cmp RB, LJ_TISNUM; ja >8
|.endif
| mov RB, LJ_TNUMX
|8:
| not RB
| mov TAB:RB, [DISPATCH+RB*4+DISPATCH_GL(gcroot[GCROOT_BASEMT])]
| jmp <2

View File

@ -110,7 +110,7 @@ static const unsigned char build_actionlist[16947] = {
15,133,244,250,57,129,233,15,132,244,251,248,4,139,137,233,133,201,15,133,
244,3,252,233,244,63,248,5,139,105,4,129,252,253,239,255,15,132,244,63,139,
1,137,106,252,252,137,66,252,248,252,233,244,63,248,6,129,252,253,239,15,
132,244,1,129,252,253,239,15,135,244,253,189,237,248,7,252,247,213,139,172,
132,244,1,129,252,253,239,15,135,244,254,189,237,248,8,252,247,213,139,172,
253,171,233,252,233,244,2,248,65,129,252,248,239,15,130,244,60,255,129,122,
253,4,239,15,133,244,60,139,42,131,189,233,0,15,133,244,60,129,122,253,12,
239,15,133,244,60,139,66,8,137,133,233,139,114,252,252,199,66,252,252,237,