[Midnightbsd-cvs] mports [22168] trunk/lang: add v8 port.

laffer1 at midnightbsd.org laffer1 at midnightbsd.org
Tue Dec 27 19:37:30 EST 2016


Revision: 22168
          http://svnweb.midnightbsd.org/mports/?rev=22168
Author:   laffer1
Date:     2016-12-27 19:37:30 -0500 (Tue, 27 Dec 2016)
Log Message:
-----------
add v8 port. this one is real pain. google build systems are the worst.

Modified Paths:
--------------
    trunk/lang/Makefile

Added Paths:
-----------
    trunk/lang/v8/
    trunk/lang/v8/Makefile
    trunk/lang/v8/distinfo
    trunk/lang/v8/files/
    trunk/lang/v8/files/patch-CVE-2015-5380
    trunk/lang/v8/files/patch-build-common.gypi
    trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common.py
    trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common_test.py
    trunk/lang/v8/files/patch-build-standalone.gypi
    trunk/lang/v8/files/patch-src-checks.h
    trunk/lang/v8/files/patch-src-d8.gyp
    trunk/lang/v8/files/patch-src-deoptimizer.cc
    trunk/lang/v8/files/patch-src-ia32-code-stubs-ia32.cc
    trunk/lang/v8/files/patch-src-ia32-disasm-ia32.cc
    trunk/lang/v8/files/patch-src-ia32-ic-ia32.cc
    trunk/lang/v8/files/patch-src-liveedit.cc
    trunk/lang/v8/files/patch-src-objects.h
    trunk/lang/v8/files/patch-src-x64-disasm-x64.cc
    trunk/lang/v8/files/patch-src-x64-ic-x64.cc
    trunk/lang/v8/files/patch-tools-gyp-v8.gyp
    trunk/lang/v8/pkg-descr
    trunk/lang/v8/pkg-plist

Modified: trunk/lang/Makefile
===================================================================
--- trunk/lang/Makefile	2016-12-27 23:08:27 UTC (rev 22167)
+++ trunk/lang/Makefile	2016-12-28 00:37:30 UTC (rev 22168)
@@ -72,6 +72,7 @@
 SUBDIR += tcl84
 SUBDIR += tcl85
 SUBDIR += tcl86
+SUBDIR += v8
 SUBDIR += vala
 SUBDIR += yabasic
 

Added: trunk/lang/v8/Makefile
===================================================================
--- trunk/lang/v8/Makefile	                        (rev 0)
+++ trunk/lang/v8/Makefile	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,55 @@
+# $MidnightBSD$
+
+PORTNAME=	v8
+PORTVERSION=	3.18.5
+CATEGORIES=	lang
+MASTER_SITES=	FREEBSD_LOCAL/vanilla
+
+MAINTAINER=	ports at MidnightBSD.org
+COMMENT=	Open source JavaScript engine by Google
+
+LICENSE=	bsd3
+
+ALL_TARGET=	native
+MAKE_ARGS=	library=shared
+MAKE_ENV=	CC.host=${CC} CXX.host=${CXX} LINK.host=${CXX} LINK.target=${CXX}
+USE_LDCONFIG=	yes
+USES=		alias compiler cpe execinfo gmake python:2 shebangfix tar:xz
+
+CPE_VENDOR=	google
+
+SHEBANG_FILES=	build/gyp/gyp
+
+.include <bsd.port.pre.mk>
+
+.if ${COMPILER_TYPE} == clang
+CXXFLAGS+=	-Wno-nested-anon-types -Wno-unused-function -Wno-unused-private-field
+MAKE_ENV+=	LINK=clang++
+.if ${COMPILER_VERSION} >= 34
+CXXFLAGS+=	-Wno-unused-const-variable
+.if ${COMPILER_VERSION} >= 35
+CXXFLAGS+=	-Wno-tautological-undefined-compare
+.if ${COMPILER_VERSION} >= 36
+CXXFLAGS+=	-Wno-unused-local-typedef
+.endif
+.endif
+.endif
+.else
+MAKE_ARGS+=	strictaliasing=off
+USE_GCC=	any
+.endif
+
+post-patch:
+	@${REINPLACE_CMD} -e 's|test/cctest/cctest.gyp||' ${WRKSRC}/Makefile
+	@${REINPLACE_CMD} -e '/test\/cctest\/cctest.gyp/d' ${WRKSRC}/build/all.gyp
+	@${REINPLACE_CMD} -e 's|/usr/local|${LOCALBASE}|' ${WRKSRC}/build/common.gypi ${WRKSRC}/tools/gyp/v8.gyp
+	@${REINPLACE_CMD} -e 's, | MAP_NORESERVE,,' ${WRKSRC}/src/platform-freebsd.cc
+	@${REINPLACE_CMD} -e 's|python|${PYTHON_CMD}|' ${WRKSRC}/tools/gyp/v8.gyp
+
+do-install:
+	${INSTALL_PROGRAM} ${WRKSRC}/out/native/d8 ${STAGEDIR}${PREFIX}/bin/d8
+	cd ${WRKSRC}/include/ && ${INSTALL_DATA} *.h ${STAGEDIR}${PREFIX}/include/
+	${INSTALL_LIB} ${WRKSRC}/out/native/lib.target/libv8.so ${STAGEDIR}${PREFIX}/lib/libv8.so.1
+	${LN} -fs ${PREFIX}/lib/libv8.so.1 ${STAGEDIR}${PREFIX}/lib/libv8.so
+
+.include <bsd.port.post.mk>


Property changes on: trunk/lang/v8/Makefile
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:keywords
## -0,0 +1 ##
+MidnightBSD=%H
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/distinfo
===================================================================
--- trunk/lang/v8/distinfo	                        (rev 0)
+++ trunk/lang/v8/distinfo	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,2 @@
+SHA256 (v8-3.18.5.tar.xz) = badfa55867887e4fef68161dc877aac5e9d19c6dddb7e96b8d6f7084de711b71
+SIZE (v8-3.18.5.tar.xz) = 8727400


Property changes on: trunk/lang/v8/distinfo
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-CVE-2015-5380
===================================================================
--- trunk/lang/v8/files/patch-CVE-2015-5380	                        (rev 0)
+++ trunk/lang/v8/files/patch-CVE-2015-5380	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,95 @@
+Backport of fix found here:
+https://github.com/joyent/node/commit/78b0e30954111cfaba0edbeee85450d8cbc6fdf6
+
+Note, this patch is modified to use ASSERT instead of DCHECK because
+this version of node is from before the rename which happened here:
+https://codereview.chromium.org/430503007
+
+--- src/unicode-inl.h.orig	2013-05-01 12:56:29 UTC
++++ src/unicode-inl.h
+@@ -168,6 +168,7 @@ unsigned Utf8::Length(uchar c, int previ
+ 
+ Utf8DecoderBase::Utf8DecoderBase()
+   : unbuffered_start_(NULL),
++    unbuffered_length_(0),
+     utf16_length_(0),
+     last_byte_of_buffer_unused_(false) {}
+ 
+@@ -207,8 +208,7 @@ unsigned Utf8Decoder<kBufferSize>::Write
+   if (length <= buffer_length) return length;
+   ASSERT(unbuffered_start_ != NULL);
+   // Copy the rest the slow way.
+-  WriteUtf16Slow(unbuffered_start_,
+-                 data + buffer_length,
++  WriteUtf16Slow(unbuffered_start_, unbuffered_length_, data + buffer_length,
+                  length - buffer_length);
+   return length;
+ }
+--- src/unicode.cc.orig	2013-05-01 12:56:29 UTC
++++ src/unicode.cc
+@@ -284,6 +284,7 @@ void Utf8DecoderBase::Reset(uint16_t* bu
+   // Assume everything will fit in the buffer and stream won't be needed.
+   last_byte_of_buffer_unused_ = false;
+   unbuffered_start_ = NULL;
++  unbuffered_length_ = 0;
+   bool writing_to_buffer = true;
+   // Loop until stream is read, writing to buffer as long as buffer has space.
+   unsigned utf16_length = 0;
+@@ -310,6 +311,7 @@ void Utf8DecoderBase::Reset(uint16_t* bu
+         // Just wrote last character of buffer
+         writing_to_buffer = false;
+         unbuffered_start_ = stream;
++        unbuffered_length_ = stream_length;
+       }
+       continue;
+     }
+@@ -319,20 +321,24 @@ void Utf8DecoderBase::Reset(uint16_t* bu
+     writing_to_buffer = false;
+     last_byte_of_buffer_unused_ = true;
+     unbuffered_start_ = stream - cursor;
++    unbuffered_length_ = stream_length + cursor;
+   }
+   utf16_length_ = utf16_length;
+ }
+ 
+ 
+ void Utf8DecoderBase::WriteUtf16Slow(const uint8_t* stream,
++                                     unsigned stream_length,
+                                      uint16_t* data,
+                                      unsigned data_length) {
+   while (data_length != 0) {
+     unsigned cursor = 0;
+-    uint32_t character = Utf8::ValueOf(stream, Utf8::kMaxEncodedSize, &cursor);
++
++    uint32_t character = Utf8::ValueOf(stream, stream_length, &cursor);
+     // There's a total lack of bounds checking for stream
+     // as it was already done in Reset.
+     stream += cursor;
++    stream_length -= cursor;
+     if (character > unibrow::Utf16::kMaxNonSurrogateCharCode) {
+       *data++ = Utf16::LeadSurrogate(character);
+       *data++ = Utf16::TrailSurrogate(character);
+@@ -343,6 +349,7 @@ void Utf8DecoderBase::WriteUtf16Slow(con
+       data_length -= 1;
+     }
+   }
++  ASSERT(stream_length >= 0);
+ }
+ 
+ 
+--- src/unicode.h.orig	2013-05-01 12:56:29 UTC
++++ src/unicode.h
+@@ -184,10 +184,10 @@ class Utf8DecoderBase {
+              unsigned buffer_length,
+              const uint8_t* stream,
+              unsigned stream_length);
+-  static void WriteUtf16Slow(const uint8_t* stream,
+-                             uint16_t* data,
+-                             unsigned length);
++  static void WriteUtf16Slow(const uint8_t* stream, unsigned stream_length,
++                             uint16_t* data, unsigned length);
+   const uint8_t* unbuffered_start_;
++  unsigned unbuffered_length_;
+   unsigned utf16_length_;
+   bool last_byte_of_buffer_unused_;
+  private:


Property changes on: trunk/lang/v8/files/patch-CVE-2015-5380
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-build-common.gypi
===================================================================
--- trunk/lang/v8/files/patch-build-common.gypi	                        (rev 0)
+++ trunk/lang/v8/files/patch-build-common.gypi	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,47 @@
+--- build/common.gypi.orig	2016-12-27 19:19:40.000000000 -0500
++++ build/common.gypi	2016-12-27 19:21:04.000000000 -0500
+@@ -330,7 +330,7 @@
+           },
+         },
+       }],
+-      ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
++      ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="midnightbsd" or OS=="solaris" \
+          or OS=="netbsd"', {
+         'conditions': [
+           [ 'v8_no_strict_aliasing==1', {
+@@ -341,7 +341,7 @@
+       ['OS=="solaris"', {
+         'defines': [ '__C99FEATURES__=1' ],  # isinf() etc.
+       }],
+-      ['(OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
++      ['(OS=="linux" or OS=="freebsd" or OS=="midnightbsd" or OS=="openbsd" or OS=="solaris" \
+          or OS=="netbsd" or OS=="mac" or OS=="android") and \
+         (v8_target_arch=="arm" or v8_target_arch=="ia32" or \
+          v8_target_arch=="mipsel")', {
+@@ -376,7 +376,7 @@
+           }],
+         ],
+       }],
+-      ['OS=="freebsd" or OS=="openbsd"', {
++      ['OS=="freebsd" or OS=="midnightbsd" or OS=="openbsd"', {
+         'cflags': [ '-I/usr/local/include' ],
+       }],
+       ['OS=="netbsd"', {
+@@ -415,7 +415,7 @@
+           ['v8_enable_extra_checks==1', {
+             'defines': ['ENABLE_EXTRA_CHECKS',],
+           }],
+-          ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd"', {
++          ['OS=="linux" or OS=="freebsd" or OS=="midnightbsd" or OS=="openbsd" or OS=="netbsd"', {
+             'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',
+                         '-Wnon-virtual-dtor', '-Woverloaded-virtual' ],
+           }],
+@@ -452,7 +452,7 @@
+           ['v8_enable_extra_checks==1', {
+             'defines': ['ENABLE_EXTRA_CHECKS',],
+           }],
+-          ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="netbsd" \
++          ['OS=="linux" or OS=="freebsd" or OS=="midnightbsd" or OS=="openbsd" or OS=="netbsd" \
+             or OS=="android"', {
+             'cflags!': [
+               '-O2',


Property changes on: trunk/lang/v8/files/patch-build-common.gypi
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common.py
===================================================================
--- trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common.py	                        (rev 0)
+++ trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common.py	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- build/gyp/pylib/gyp/common.py.orig	2016-12-27 19:29:34.000000000 -0500
++++ build/gyp/pylib/gyp/common.py	2016-12-27 19:30:20.000000000 -0500
+@@ -378,6 +378,8 @@
+     return 'solaris'
+   if sys.platform.startswith('freebsd'):
+     return 'freebsd'
++  if sys.platform.startswith('midnightbsd'):
++    return 'midnightbsd'
+ 
+   return 'linux'
+ 


Property changes on: trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common_test.py
===================================================================
--- trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common_test.py	                        (rev 0)
+++ trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common_test.py	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,10 @@
+--- build/gyp/pylib/gyp/common_test.py.orig	2016-12-27 19:30:38.000000000 -0500
++++ build/gyp/pylib/gyp/common_test.py	2016-12-27 19:31:11.000000000 -0500
+@@ -56,6 +56,7 @@
+     self.assertEqual(expected, gyp.common.GetFlavor(param))
+ 
+   def test_platform_default(self):
++    self.assertFlavor('midnightbsd', 'freebsd9' , {})
+     self.assertFlavor('freebsd', 'freebsd9' , {})
+     self.assertFlavor('freebsd', 'freebsd10', {})
+     self.assertFlavor('solaris', 'sunos5'   , {});


Property changes on: trunk/lang/v8/files/patch-build-gyp-pylib-gyp-common_test.py
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-build-standalone.gypi
===================================================================
--- trunk/lang/v8/files/patch-build-standalone.gypi	                        (rev 0)
+++ trunk/lang/v8/files/patch-build-standalone.gypi	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,20 @@
+--- build/standalone.gypi.orig	2016-12-27 19:19:46.000000000 -0500
++++ build/standalone.gypi	2016-12-27 19:21:53.000000000 -0500
+@@ -38,7 +38,7 @@
+       'variables': {
+         'variables': {
+           'conditions': [
+-            ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or \
++            ['OS=="linux" or OS=="freebsd" or OS=="midnightbsd" or OS=="openbsd" or \
+                OS=="netbsd" or OS=="mac"', {
+               # This handles the Unix platforms we generally deal with.
+               # Anything else gets passed through, which probably won't work
+@@ -94,7 +94,7 @@
+     },
+   },
+   'conditions': [
+-    ['OS=="linux" or OS=="freebsd" or OS=="openbsd" or OS=="solaris" \
++    ['OS=="linux" or OS=="freebsd" or OS=="midnightbsd" or OS=="openbsd" or OS=="solaris" \
+        or OS=="netbsd"', {
+       'target_defaults': {
+         'cflags': [ '-Wall', '<(werror)', '-W', '-Wno-unused-parameter',


Property changes on: trunk/lang/v8/files/patch-build-standalone.gypi
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-checks.h
===================================================================
--- trunk/lang/v8/files/patch-src-checks.h	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-checks.h	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- src/checks.h.orig	2013-05-01 12:56:29 UTC
++++ src/checks.h
+@@ -248,7 +248,7 @@ template <int> class StaticAssertionHelp
+ #define STATIC_CHECK(test)                                                    \
+   typedef                                                                     \
+     StaticAssertionHelper<sizeof(StaticAssertion<static_cast<bool>((test))>)> \
+-    SEMI_STATIC_JOIN(__StaticAssertTypedef__, __LINE__)
++    SEMI_STATIC_JOIN(__StaticAssertTypedef__, __LINE__) __attribute__((__unused__))
+ 
+ 
+ extern bool FLAG_enable_slow_asserts;


Property changes on: trunk/lang/v8/files/patch-src-checks.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-d8.gyp
===================================================================
--- trunk/lang/v8/files/patch-src-d8.gyp	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-d8.gyp	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- src/d8.gyp.orig	2016-12-27 19:26:58.000000000 -0500
++++ src/d8.gyp	2016-12-27 19:27:20.000000000 -0500
+@@ -63,7 +63,7 @@
+                 'd8_js2c',
+               ],
+             }],
+-            ['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS=="netbsd" \
++            ['(OS=="linux" or OS=="mac" or OS=="freebsd" or OS="midnightbsd" or OS=="netbsd" \
+                or OS=="openbsd" or OS=="solaris" or OS=="android")', {
+               'sources': [ 'd8-posix.cc', ]
+             }],


Property changes on: trunk/lang/v8/files/patch-src-d8.gyp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-deoptimizer.cc
===================================================================
--- trunk/lang/v8/files/patch-src-deoptimizer.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-deoptimizer.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,29 @@
+--- src/deoptimizer.cc.orig	2013-05-01 12:56:29 UTC
++++ src/deoptimizer.cc
+@@ -1392,7 +1392,7 @@ void Deoptimizer::MaterializeHeapObjects
+       PrintF("Materializing a new heap number %p [%e] in slot %p\n",
+              reinterpret_cast<void*>(*num),
+              d.value(),
+-             d.slot_address());
++             reinterpret_cast<void*>(d.slot_address()));
+     }
+     Memory::Object_at(d.slot_address()) = *num;
+   }
+@@ -1474,7 +1474,7 @@ void Deoptimizer::MaterializeHeapNumbers
+                "for parameter slot #%d\n",
+                reinterpret_cast<void*>(*num),
+                d.value(),
+-               d.slot_address(),
++               reinterpret_cast<void*>(d.slot_address()),
+                index);
+       }
+ 
+@@ -1490,7 +1490,7 @@ void Deoptimizer::MaterializeHeapNumbers
+                "for expression slot #%d\n",
+                reinterpret_cast<void*>(*num),
+                d.value(),
+-               d.slot_address(),
++               reinterpret_cast<void*>(d.slot_address()),
+                index);
+       }
+ 


Property changes on: trunk/lang/v8/files/patch-src-deoptimizer.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-ia32-code-stubs-ia32.cc
===================================================================
--- trunk/lang/v8/files/patch-src-ia32-code-stubs-ia32.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-ia32-code-stubs-ia32.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- src/ia32/code-stubs-ia32.cc.orig	2013-05-01 12:56:29 UTC
++++ src/ia32/code-stubs-ia32.cc
+@@ -5650,7 +5650,7 @@ void StringCharFromCodeGenerator::Genera
+   ASSERT(IsPowerOf2(String::kMaxOneByteCharCode + 1));
+   __ test(code_,
+           Immediate(kSmiTagMask |
+-                    ((~String::kMaxOneByteCharCode) << kSmiTagSize)));
++                    ((~String::kMaxOneByteCharCodeU) << kSmiTagSize)));
+   __ j(not_zero, &slow_case_);
+ 
+   Factory* factory = masm->isolate()->factory();


Property changes on: trunk/lang/v8/files/patch-src-ia32-code-stubs-ia32.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-ia32-disasm-ia32.cc
===================================================================
--- trunk/lang/v8/files/patch-src-ia32-disasm-ia32.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-ia32-disasm-ia32.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- src/ia32/disasm-ia32.cc.orig	2013-05-01 12:56:29 UTC
++++ src/ia32/disasm-ia32.cc
+@@ -1707,7 +1707,7 @@ int Disassembler::ConstantPoolSizeAt(byt
+     buffer[0] = '\0';
+     byte* prev_pc = pc;
+     pc += d.InstructionDecode(buffer, pc);
+-    fprintf(f, "%p", prev_pc);
++    fprintf(f, "%p", reinterpret_cast<void*>(prev_pc));
+     fprintf(f, "    ");
+ 
+     for (byte* bp = prev_pc; bp < pc; bp++) {


Property changes on: trunk/lang/v8/files/patch-src-ia32-disasm-ia32.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-ia32-ic-ia32.cc
===================================================================
--- trunk/lang/v8/files/patch-src-ia32-ic-ia32.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-ia32-ic-ia32.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,12 @@
+--- src/ia32/ic-ia32.cc.orig	2013-05-01 12:56:29 UTC
++++ src/ia32/ic-ia32.cc
+@@ -1657,7 +1657,8 @@ void PatchInlinedSmiCode(Address address
+   int8_t delta = *reinterpret_cast<int8_t*>(delta_address);
+   if (FLAG_trace_ic) {
+     PrintF("[  patching ic at %p, test=%p, delta=%d\n",
+-           address, test_instruction_address, delta);
++           reinterpret_cast<void*>(address),
++           reinterpret_cast<void*>(test_instruction_address), delta);
+   }
+ 
+   // Patch with a short conditional jump. Enabling means switching from a short


Property changes on: trunk/lang/v8/files/patch-src-ia32-ic-ia32.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-liveedit.cc
===================================================================
--- trunk/lang/v8/files/patch-src-liveedit.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-liveedit.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- src/liveedit.cc.orig	2013-05-01 12:56:29 UTC
++++ src/liveedit.cc
+@@ -203,7 +203,7 @@ class Differencer {
+ 
+   static const int kDirectionSizeBits = 2;
+   static const int kDirectionMask = (1 << kDirectionSizeBits) - 1;
+-  static const int kEmptyCellValue = -1 << kDirectionSizeBits;
++  static const int kEmptyCellValue = -(1 << kDirectionSizeBits);
+ 
+   // This method only holds static assert statement (unfortunately you cannot
+   // place one in class scope).


Property changes on: trunk/lang/v8/files/patch-src-liveedit.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-objects.h
===================================================================
--- trunk/lang/v8/files/patch-src-objects.h	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-objects.h	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,22 @@
+--- src/objects.h.orig	2013-05-01 12:56:29 UTC
++++ src/objects.h
+@@ -5573,7 +5573,7 @@ class Map: public HeapObject {
+   static const int kElementsKindBitCount = 5;
+ 
+   // Derived values from bit field 2
+-  static const int kElementsKindMask = (-1 << kElementsKindShift) &
++  static const int kElementsKindMask = -(1 << kElementsKindShift) &
+       ((1 << (kElementsKindShift + kElementsKindBitCount)) - 1);
+   static const int8_t kMaximumBitField2FastElementValue = static_cast<int8_t>(
+       (FAST_ELEMENTS + 1) << Map::kElementsKindShift) - 1;
+@@ -7580,8 +7580,8 @@ class Name: public HeapObject {
+   STATIC_CHECK(IS_POWER_OF_TWO(kMaxCachedArrayIndexLength + 1));
+ 
+   static const int kContainsCachedArrayIndexMask =
+-      (~kMaxCachedArrayIndexLength << kArrayIndexHashLengthShift) |
+-      kIsNotArrayIndexMask;
++      (~static_cast<unsigned>(kMaxCachedArrayIndexLength) <<
++      kArrayIndexHashLengthShift) | kIsNotArrayIndexMask;
+ 
+   // Value of empty hash field indicating that the hash is not computed.
+   static const int kEmptyHashField =


Property changes on: trunk/lang/v8/files/patch-src-objects.h
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-x64-disasm-x64.cc
===================================================================
--- trunk/lang/v8/files/patch-src-x64-disasm-x64.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-x64-disasm-x64.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,11 @@
+--- src/x64/disasm-x64.cc.orig	2013-05-01 12:56:28 UTC
++++ src/x64/disasm-x64.cc
+@@ -1851,7 +1851,7 @@ void Disassembler::Disassemble(FILE* f, 
+     buffer[0] = '\0';
+     byte* prev_pc = pc;
+     pc += d.InstructionDecode(buffer, pc);
+-    fprintf(f, "%p", prev_pc);
++    fprintf(f, "%p", reinterpret_cast<void*>(prev_pc));
+     fprintf(f, "    ");
+ 
+     for (byte* bp = prev_pc; bp < pc; bp++) {


Property changes on: trunk/lang/v8/files/patch-src-x64-disasm-x64.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-src-x64-ic-x64.cc
===================================================================
--- trunk/lang/v8/files/patch-src-x64-ic-x64.cc	                        (rev 0)
+++ trunk/lang/v8/files/patch-src-x64-ic-x64.cc	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,12 @@
+--- src/x64/ic-x64.cc.orig	2013-05-01 12:56:28 UTC
++++ src/x64/ic-x64.cc
+@@ -1672,7 +1672,8 @@ void PatchInlinedSmiCode(Address address
+   int8_t delta = *reinterpret_cast<int8_t*>(delta_address);
+   if (FLAG_trace_ic) {
+     PrintF("[  patching ic at %p, test=%p, delta=%d\n",
+-           address, test_instruction_address, delta);
++           reinterpret_cast<void*>(address),
++           reinterpret_cast<void*>(test_instruction_address), delta);
+   }
+ 
+   // Patch with a short conditional jump. Enabling means switching from a short


Property changes on: trunk/lang/v8/files/patch-src-x64-ic-x64.cc
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/files/patch-tools-gyp-v8.gyp
===================================================================
--- trunk/lang/v8/files/patch-tools-gyp-v8.gyp	                        (rev 0)
+++ trunk/lang/v8/files/patch-tools-gyp-v8.gyp	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,20 @@
+--- tools/gyp/v8.gyp.orig	2016-12-27 19:25:00.000000000 -0500
++++ tools/gyp/v8.gyp	2016-12-27 19:25:50.000000000 -0500
+@@ -675,6 +675,17 @@
+                 ],
+               }
+             ],
++            ['OS=="midnightbsd"', {
++                'link_settings': {
++                  'libraries': [
++                    '-L/usr/local/lib -lexecinfo',
++                ]},
++                'sources': [
++                  '../../src/platform-freebsd.cc',
++                  '../../src/platform-posix.cc'
++                ],
++              }
++            ],
+             ['OS=="openbsd"', {
+                 'link_settings': {
+                   'libraries': [


Property changes on: trunk/lang/v8/files/patch-tools-gyp-v8.gyp
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/pkg-descr
===================================================================
--- trunk/lang/v8/pkg-descr	                        (rev 0)
+++ trunk/lang/v8/pkg-descr	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,14 @@
+V8 is Google's open source JavaScript engine.
+
+V8 is written in C++ and is used in Google Chrome, the open source browser from
+Google.
+
+V8 implements ECMAScript as specified in ECMA-262, 5th edition, and runs on
+Windows (XP or newer), Mac OS X (10.5 or newer), and Linux systems that use
+IA-32, x64, or ARM processors.
+
+V8 can run standalone, or can be embedded into any C++ application.
+
+Git repository at https://github.com/v8/v8
+
+WWW: http://code.google.com/p/v8/


Property changes on: trunk/lang/v8/pkg-descr
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Added: trunk/lang/v8/pkg-plist
===================================================================
--- trunk/lang/v8/pkg-plist	                        (rev 0)
+++ trunk/lang/v8/pkg-plist	2016-12-28 00:37:30 UTC (rev 22168)
@@ -0,0 +1,9 @@
+bin/d8
+include/v8-debug.h
+include/v8-preparser.h
+include/v8-profiler.h
+include/v8-testing.h
+include/v8.h
+include/v8stdint.h
+lib/libv8.so
+lib/libv8.so.1


Property changes on: trunk/lang/v8/pkg-plist
___________________________________________________________________
Added: svn:eol-style
## -0,0 +1 ##
+native
\ No newline at end of property
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property


More information about the Midnightbsd-cvs mailing list