From bd782cedd5079a49e30310837c899e98ce11c95c Mon Sep 17 00:00:00 2001 From: Mike Pall Date: Wed, 4 Jul 2012 21:14:37 +0200 Subject: [PATCH] Bump some limits to accomodate SINK pass. --- doc/ext_ffi_semantics.html | 2 +- src/lj_crecord.c | 2 +- src/lj_def.h | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/doc/ext_ffi_semantics.html b/doc/ext_ffi_semantics.html index d0613aed..ed32d23f 100644 --- a/doc/ext_ffi_semantics.html +++ b/doc/ext_ffi_semantics.html @@ -1130,7 +1130,7 @@ suboptimal performance, especially when used in inner loops:
  • Table initializers.
  • Initialization of nested struct/union types.
  • Allocations of variable-length arrays or structs.
  • -
  • Allocations of C types with a size > 64 bytes or an +
  • Allocations of C types with a size > 128 bytes or an alignment > 8 bytes.
  • Conversions from lightuserdata to void *.
  • Pointer differences for element sizes that are not a power of diff --git a/src/lj_crecord.c b/src/lj_crecord.c index 18e1ee13..6cb565c3 100644 --- a/src/lj_crecord.c +++ b/src/lj_crecord.c @@ -654,7 +654,7 @@ static void crec_alloc(jit_State *J, RecordFFData *rd, CTypeID id) CTInfo info = lj_ctype_info(cts, id, &sz); CType *d = ctype_raw(cts, id); TRef trid; - if (sz == 0 || sz > 64 || (info & CTF_VLA) || ctype_align(info) > CT_MEMALIGN) + if (!sz || sz > 128 || (info & CTF_VLA) || ctype_align(info) > CT_MEMALIGN) lj_trace_err(J, LJ_TRERR_NYICONV); /* NYI: large/special allocations. */ trid = lj_ir_kint(J, id); /* Use special instruction to box pointer or 32/64 bit integer. */ diff --git a/src/lj_def.h b/src/lj_def.h index 27b6d6b7..a7531f10 100644 --- a/src/lj_def.h +++ b/src/lj_def.h @@ -80,7 +80,7 @@ typedef unsigned int uintptr_t; /* JIT compiler limits. */ #define LJ_MAX_JSLOTS 250 /* Max. # of stack slots for a trace. */ -#define LJ_MAX_PHI 32 /* Max. # of PHIs for a loop. */ +#define LJ_MAX_PHI 64 /* Max. # of PHIs for a loop. */ #define LJ_MAX_EXITSTUBGR 16 /* Max. # of exit stub groups. */ /* Various macros. */