diff options
-rw-r--r-- | doc/ext_ffi_semantics.html | 2 | ||||
-rw-r--r-- | src/lj_crecord.c | 2 | ||||
-rw-r--r-- | 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: | |||
1130 | <li>Table initializers.</li> | 1130 | <li>Table initializers.</li> |
1131 | <li>Initialization of nested <tt>struct</tt>/<tt>union</tt> types.</li> | 1131 | <li>Initialization of nested <tt>struct</tt>/<tt>union</tt> types.</li> |
1132 | <li>Allocations of variable-length arrays or structs.</li> | 1132 | <li>Allocations of variable-length arrays or structs.</li> |
1133 | <li>Allocations of C types with a size > 64 bytes or an | 1133 | <li>Allocations of C types with a size > 128 bytes or an |
1134 | alignment > 8 bytes.</li> | 1134 | alignment > 8 bytes.</li> |
1135 | <li>Conversions from lightuserdata to <tt>void *</tt>.</li> | 1135 | <li>Conversions from lightuserdata to <tt>void *</tt>.</li> |
1136 | <li>Pointer differences for element sizes that are not a power of | 1136 | <li>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) | |||
654 | CTInfo info = lj_ctype_info(cts, id, &sz); | 654 | CTInfo info = lj_ctype_info(cts, id, &sz); |
655 | CType *d = ctype_raw(cts, id); | 655 | CType *d = ctype_raw(cts, id); |
656 | TRef trid; | 656 | TRef trid; |
657 | if (sz == 0 || sz > 64 || (info & CTF_VLA) || ctype_align(info) > CT_MEMALIGN) | 657 | if (!sz || sz > 128 || (info & CTF_VLA) || ctype_align(info) > CT_MEMALIGN) |
658 | lj_trace_err(J, LJ_TRERR_NYICONV); /* NYI: large/special allocations. */ | 658 | lj_trace_err(J, LJ_TRERR_NYICONV); /* NYI: large/special allocations. */ |
659 | trid = lj_ir_kint(J, id); | 659 | trid = lj_ir_kint(J, id); |
660 | /* Use special instruction to box pointer or 32/64 bit integer. */ | 660 | /* 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; | |||
80 | 80 | ||
81 | /* JIT compiler limits. */ | 81 | /* JIT compiler limits. */ |
82 | #define LJ_MAX_JSLOTS 250 /* Max. # of stack slots for a trace. */ | 82 | #define LJ_MAX_JSLOTS 250 /* Max. # of stack slots for a trace. */ |
83 | #define LJ_MAX_PHI 32 /* Max. # of PHIs for a loop. */ | 83 | #define LJ_MAX_PHI 64 /* Max. # of PHIs for a loop. */ |
84 | #define LJ_MAX_EXITSTUBGR 16 /* Max. # of exit stub groups. */ | 84 | #define LJ_MAX_EXITSTUBGR 16 /* Max. # of exit stub groups. */ |
85 | 85 | ||
86 | /* Various macros. */ | 86 | /* Various macros. */ |