[105759] trunk/dports/lang/luajit

and.damore at macports.org and.damore at macports.org
Sun May 5 01:29:21 PDT 2013


Revision: 105759
          https://trac.macports.org/changeset/105759
Author:   and.damore at macports.org
Date:     2013-05-05 01:29:21 -0700 (Sun, 05 May 2013)
Log Message:
-----------
port luajit: merging in the patch provided upstream, revision bump

Modified Paths:
--------------
    trunk/dports/lang/luajit/Portfile

Added Paths:
-----------
    trunk/dports/lang/luajit/files/
    trunk/dports/lang/luajit/files/patch-luajit-v2.0.1_hotfix1.diff

Modified: trunk/dports/lang/luajit/Portfile
===================================================================
--- trunk/dports/lang/luajit/Portfile	2013-05-05 08:11:40 UTC (rev 105758)
+++ trunk/dports/lang/luajit/Portfile	2013-05-05 08:29:21 UTC (rev 105759)
@@ -4,6 +4,7 @@
 
 name                luajit
 version             2.0.1
+revision            1
 categories          lang
 platforms           darwin
 license             BSD
@@ -18,6 +19,9 @@
                     sha1    330492aa5366e4e60afeec72f15e44df8a794db5 \
                     rmd160  99b6ef067a3f09865ff312baeb1ceb012bb9acb3
 
+patchfiles          patch-luajit-v2.0.1_hotfix1.diff
+patch.pre_args      -p1
+
 build.post_args-append      PREFIX=$prefix
 destroot.post_args-append   PREFIX=$prefix
 

Added: trunk/dports/lang/luajit/files/patch-luajit-v2.0.1_hotfix1.diff
===================================================================
--- trunk/dports/lang/luajit/files/patch-luajit-v2.0.1_hotfix1.diff	                        (rev 0)
+++ trunk/dports/lang/luajit/files/patch-luajit-v2.0.1_hotfix1.diff	2013-05-05 08:29:21 UTC (rev 105759)
@@ -0,0 +1,97 @@
+--- a/src/lib_io.c
++++ b/src/lib_io.c
+@@ -17,6 +17,7 @@
+ #include "lualib.h"
+ 
+ #include "lj_obj.h"
++#include "lj_gc.h"
+ #include "lj_err.h"
+ #include "lj_str.h"
+ #include "lj_state.h"
+@@ -152,6 +153,7 @@ static int io_file_readline(lua_State *L, FILE *fp, MSize chop)
+     if (n >= m - 64) m += m;
+   }
+   setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n));
++  lj_gc_check(L);
+   return (int)ok;
+ }
+ 
+@@ -163,6 +165,7 @@ static void io_file_readall(lua_State *L, FILE *fp)
+     n += (MSize)fread(buf+n, 1, m-n, fp);
+     if (n != m) {
+       setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n));
++      lj_gc_check(L);
+       return;
+     }
+   }
+@@ -174,6 +177,7 @@ static int io_file_readlen(lua_State *L, FILE *fp, MSize m)
+     char *buf = lj_str_needbuf(L, &G(L)->tmpbuf, m);
+     MSize n = (MSize)fread(buf, 1, m, fp);
+     setstrV(L, L->top++, lj_str_new(L, buf, (size_t)n));
++    lj_gc_check(L);
+     return (n > 0 || m == 0);
+   } else {
+     int c = getc(fp);
+--- a/src/lj_asm_arm.h
++++ b/src/lj_asm_arm.h
+@@ -91,6 +91,7 @@ static MCode *asm_exitstub_gen(ASMState *as, ExitNo group)
+   *mxp++ = group*EXITSTUBS_PER_GROUP;
+   for (i = 0; i < EXITSTUBS_PER_GROUP; i++)
+     *mxp++ = ARMI_B|((-6-i)&0x00ffffffu);
++  lj_mcode_sync(as->mcbot, mxp);
+   lj_mcode_commitbot(as->J, mxp);
+   as->mcbot = mxp;
+   as->mclim = as->mcbot + MCLIM_REDZONE;
+--- a/src/lj_asm_mips.h
++++ b/src/lj_asm_mips.h
+@@ -71,6 +71,7 @@ static void asm_sparejump_setup(ASMState *as)
+     memset(mxp+2, 0, MIPS_SPAREJUMP*8);
+     mxp += MIPS_SPAREJUMP*2;
+     lua_assert(mxp < as->mctop);
++    lj_mcode_sync(as->mcbot, mxp);
+     lj_mcode_commitbot(as->J, mxp);
+     as->mcbot = mxp;
+     as->mclim = as->mcbot + MCLIM_REDZONE;
+--- a/src/lj_def.h
++++ b/src/lj_def.h
+@@ -243,17 +243,17 @@ static LJ_AINLINE uint32_t lj_getu32(const void *p)
+ #endif
+ 
+ #ifdef _M_PPC
+-#pragma intrinsic(_CountLeadingZeros)
+ unsigned int _CountLeadingZeros(long);
++#pragma intrinsic(_CountLeadingZeros)
+ static LJ_AINLINE uint32_t lj_fls(uint32_t x)
+ {
+   return _CountLeadingZeros(x) ^ 31;
+ }
+ #else
+-#pragma intrinsic(_BitScanForward)
+-#pragma intrinsic(_BitScanReverse)
+ unsigned char _BitScanForward(uint32_t *, unsigned long);
+ unsigned char _BitScanReverse(uint32_t *, unsigned long);
++#pragma intrinsic(_BitScanForward)
++#pragma intrinsic(_BitScanReverse)
+ 
+ static LJ_AINLINE uint32_t lj_ffs(uint32_t x)
+ {
+--- a/src/lj_str.c
++++ b/src/lj_str.c
+@@ -48,7 +48,7 @@ static LJ_AINLINE int str_fastcmp(const char *a, const char *b, MSize len)
+ {
+   MSize i = 0;
+   lua_assert(len > 0);
+-  lua_assert((((uintptr_t)a + len) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4);
++  lua_assert((((uintptr_t)a+len-1) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4);
+   do {  /* Note: innocuous access up to end of string + 3. */
+     uint32_t v = lj_getu32(a+i) ^ *(const uint32_t *)(b+i);
+     if (v) {
+@@ -121,7 +121,7 @@ GCstr *lj_str_new(lua_State *L, const char *str, size_t lenx)
+   h ^= b; h -= lj_rol(b, 16);
+   /* Check if the string has already been interned. */
+   o = gcref(g->strhash[h & g->strmask]);
+-  if (LJ_LIKELY((((uintptr_t)str + len) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4)) {
++  if (LJ_LIKELY((((uintptr_t)str+len-1) & (LJ_PAGESIZE-1)) <= LJ_PAGESIZE-4)) {
+     while (o != NULL) {
+       GCstr *sx = gco2str(o);
+       if (sx->len == len && str_fastcmp(str, strdata(sx), len) == 0) {
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/macports-changes/attachments/20130505/c5241444/attachment.html>


More information about the macports-changes mailing list