diff options
author | Marco Pompili | 2017-08-04 16:35:37 +0200 |
---|---|---|
committer | Marco Pompili | 2017-08-04 16:36:01 +0200 |
commit | 3bd1540d3de247333eeebc5de5e1534f710da314 (patch) | |
tree | dabcb3fddcc5cc7f6a2188a0a3a24612a23c8235 | |
parent | eee5828731bb3199850c329781e3ea9ae4d536a3 (diff) | |
download | aur-3bd1540d3de247333eeebc5de5e1534f710da314.tar.gz |
Version 6.0.286.52-1
-rw-r--r-- | .SRCINFO | 10 | ||||
-rw-r--r-- | PKGBUILD | 25 | ||||
-rw-r--r-- | ctest.patch | 27 | ||||
-rw-r--r-- | gcc7.patch | 76 | ||||
-rw-r--r-- | icu59.diff | 28 |
5 files changed, 124 insertions, 42 deletions
@@ -1,8 +1,8 @@ # Generated by mksrcinfo v8 -# Fri May 19 08:24:22 UTC 2017 +# Fri Aug 4 14:34:27 UTC 2017 pkgbase = v8 pkgdesc = Fast and modern Javascript engine used in Google Chrome. - pkgver = 5.9.211.27 + pkgver = 6.0.286.52 pkgrel = 1 url = https://code.google.com/p/v8/ arch = i686 @@ -27,13 +27,15 @@ pkgbase = v8 source = v8_libbase.pc source = v8_libplatform.pc source = d8 - source = icu59.diff + source = gcc7.patch + source = ctest.patch sha256sums = SKIP sha256sums = 3616bcfb15af7cd5a39bc0f223b2a52f15883a4bc8cfcfb291837c7421363d75 sha256sums = efb37bd706e6535abfa20c77bb16597253391619dae275627312d00ee7332fa3 sha256sums = ae23d543f655b4d8449f98828d0aff6858a777429b9ebdd2e23541f89645d4eb sha256sums = 6abb07ab1cf593067d19028f385bd7ee52196fc644e315c388f08294d82ceff0 - sha256sums = d0d3fbb3719f7634cf63b61e03351eef9a7415d9671e6b4fcdf621887c804ae1 + sha256sums = 3a67793d1a7a93cec00f2693f11e79749364d2541edfb99d0be3f9c132382d1f + sha256sums = 14ee52de490515d23fe14376258921d45c45a4011b5cd3344cde026d8b494774 pkgname = v8 @@ -6,7 +6,7 @@ # Contributor: David Flemström <david.flemstrom@gmail.com> pkgname=v8 -pkgver=5.9.211.27 +pkgver=6.0.286.52 pkgrel=1 pkgdesc="Fast and modern Javascript engine used in Google Chrome." arch=('i686' 'x86_64') @@ -20,13 +20,15 @@ source=("depot_tools::git+https://chromium.googlesource.com/chromium/tools/depot "v8_libbase.pc" "v8_libplatform.pc" "d8" - "icu59.diff") + "gcc7.patch" + "ctest.patch") sha256sums=('SKIP' '3616bcfb15af7cd5a39bc0f223b2a52f15883a4bc8cfcfb291837c7421363d75' 'efb37bd706e6535abfa20c77bb16597253391619dae275627312d00ee7332fa3' 'ae23d543f655b4d8449f98828d0aff6858a777429b9ebdd2e23541f89645d4eb' '6abb07ab1cf593067d19028f385bd7ee52196fc644e315c388f08294d82ceff0' - 'd0d3fbb3719f7634cf63b61e03351eef9a7415d9671e6b4fcdf621887c804ae1') + '3a67793d1a7a93cec00f2693f11e79749364d2541edfb99d0be3f9c132382d1f' + '14ee52de490515d23fe14376258921d45c45a4011b5cd3344cde026d8b494774') # @@ -108,22 +110,21 @@ prepare() { ./build/linux/unbundle/replace_gn_files.py --undo --system-libraries icu fi - msg2 "Syncing..." + msg2 "Syncing, this can take a while..." gclient sync --revision ${pkgver} msg2 "Using system libraries for ICU" ./build/linux/unbundle/replace_gn_files.py --system-libraries icu - msg2 "Applying patch for icu 59.x" - patch ${srcdir}/v8/src/i18n.cc < ${srcdir}/icu59.diff + msg2 "Applying gcc7 compatibility patch" + patch -p1 -i ${srcdir}/gcc7.patch + + msg "Applying ctest patch" + patch -p1 -i ${srcdir}/ctest.patch sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/v8.pc" sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/v8_libbase.pc" sed "s/@VERSION@/${pkgver}/g" -i "${srcdir}/v8_libplatform.pc" -} - -build() { - cd v8 msg2 "Running GN..." ../depot_tools/gn gen $OUTFLD \ @@ -137,6 +138,10 @@ build() { v8_enable_i18n_support=$V8_I18N_SUPPORT v8_use_external_startup_data=\"$V8_USE_EXTERNAL_STARTUP_DATA\" use_sysroot=$V8_USE_SYSROOT" +} + +build() { + cd v8 # Fixes bug in generate_shim_headers.py that fails to create these dirs msg2 "Adding icu missing folders" diff --git a/ctest.patch b/ctest.patch new file mode 100644 index 000000000000..8ba268f6dcc7 --- /dev/null +++ b/ctest.patch @@ -0,0 +1,27 @@ +diff --git a/test/cctest/compiler/graph-builder-tester.h b/test/cctest/compiler/graph-builder-tester.h +index a2436ad1d2..5305060896 100644 +--- a/test/cctest/compiler/graph-builder-tester.h ++++ b/test/cctest/compiler/graph-builder-tester.h +@@ -168,9 +168,6 @@ class GraphBuilderTester : public HandleAndZoneScope, + Node* ChangeUint32ToTagged(Node* a) { + return NewNode(simplified()->ChangeUint32ToTagged(), a); + } +- Node* ChangeFloat64ToTagged(Node* a) { +- return NewNode(simplified()->ChangeFloat64ToTagged(), a); +- } + Node* ChangeTaggedToBit(Node* a) { + return NewNode(simplified()->ChangeTaggedToBit(), a); + } +diff --git a/test/cctest/BUILD.gn b/test/cctest/BUILD.gn +index d5365df606..c39b1bc46c 100644 +--- a/test/cctest/BUILD.gn ++++ b/test/cctest/BUILD.gn +@@ -177,6 +177,6 @@ v8_executable("cctest") { + "test-typedarrays.cc", + "test-types.cc", + "test-unbound-queue.cc", +- "test-unboxed-doubles.cc", ++ #"test-unboxed-doubles.cc", + "test-unique.cc", + "test-unscopables-hidden-prototype.cc", + "test-usecounters.cc",
\ No newline at end of file diff --git a/gcc7.patch b/gcc7.patch new file mode 100644 index 000000000000..bfaeb28ddfd1 --- /dev/null +++ b/gcc7.patch @@ -0,0 +1,76 @@ +diff --git a/src/objects-body-descriptors.h b/src/objects-body-descriptors.h +index 499c48a930..3eb3bb539e 100644 +--- a/src/objects-body-descriptors.h ++++ b/src/objects-body-descriptors.h +@@ -99,7 +99,7 @@ class FixedBodyDescriptor final : public BodyDescriptorBase { + + template <typename StaticVisitor> + static inline void IterateBody(HeapObject* obj, int object_size) { +- IterateBody(obj); ++ IterateBody<StaticVisitor>(obj); + } + + static inline int SizeOf(Map* map, HeapObject* object) { return kSize; } +diff --git a/src/objects-inl.h b/src/objects-inl.h +index 406f49d996..a2e7a6d1fc 100644 +--- a/src/objects-inl.h ++++ b/src/objects-inl.h +@@ -47,6 +47,27 @@ + namespace v8 { + namespace internal { + ++template <typename Derived, typename Shape, typename Key> ++uint32_t HashTable<Derived, Shape, Key>::Hash(Key key) { ++ if (Shape::UsesSeed) { ++ return Shape::SeededHash(key, GetHeap()->HashSeed()); ++ } else { ++ return Shape::Hash(key); ++ } ++} ++ ++ ++template <typename Derived, typename Shape, typename Key> ++uint32_t HashTable<Derived, Shape, Key>::HashForObject(Key key, ++ Object* object) { ++ if (Shape::UsesSeed) { ++ return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); ++ } else { ++ return Shape::HashForObject(key, object); ++ } ++} ++ ++ + PropertyDetails::PropertyDetails(Smi* smi) { + value_ = smi->value(); + } +diff --git a/src/objects/hash-table.h b/src/objects/hash-table.h +index f3c68a82c5..71ce2a5613 100644 +--- a/src/objects/hash-table.h ++++ b/src/objects/hash-table.h +@@ -138,22 +138,10 @@ class HashTable : public HashTableBase { + public: + typedef Shape ShapeT; + +- // Wrapper methods +- inline uint32_t Hash(Key key) { +- if (Shape::UsesSeed) { +- return Shape::SeededHash(key, GetHeap()->HashSeed()); +- } else { +- return Shape::Hash(key); +- } +- } +- +- inline uint32_t HashForObject(Key key, Object* object) { +- if (Shape::UsesSeed) { +- return Shape::SeededHashForObject(key, GetHeap()->HashSeed(), object); +- } else { +- return Shape::HashForObject(key, object); +- } +- } ++ // Wrapper methods. Defined in src/objects-inl.h ++ // to break a cycle with src/heap/heap.h. ++ inline uint32_t Hash(Key key); ++ inline uint32_t HashForObject(Key key, Object* object); + + // Returns a new HashTable object. + MUST_USE_RESULT static Handle<Derived> New( diff --git a/icu59.diff b/icu59.diff deleted file mode 100644 index 59117a54dbe6..000000000000 --- a/icu59.diff +++ /dev/null @@ -1,28 +0,0 @@ -diff --git a/src/i18n.cc b/src/i18n.cc -index 79a70daf62..7a8d847034 100644 ---- a/src/i18n.cc -+++ b/src/i18n.cc -@@ -28,7 +28,7 @@ - #include "unicode/rbbi.h" - #include "unicode/smpdtfmt.h" - #include "unicode/timezone.h" --#include "unicode/uchar.h" -+#include "unicode/ustring.h" - #include "unicode/ucol.h" - #include "unicode/ucurr.h" - #include "unicode/unum.h" -@@ -180,7 +180,13 @@ void SetResolvedDateSettings(Isolate* isolate, - icu::UnicodeString canonical_time_zone; - icu::TimeZone::getCanonicalID(time_zone, canonical_time_zone, status); - if (U_SUCCESS(status)) { -- if (canonical_time_zone == UNICODE_STRING_SIMPLE("Etc/GMT")) { -+ // In CLDR (http://unicode.org/cldr/trac/ticket/9943), Etc/UTC is made -+ // a separate timezone ID from Etc/GMT even though they're still the same -+ // timezone. We'd not have "Etc/GMT" here because we canonicalize it and -+ // other GMT-variants to "UTC" in intl.js and "UTC" is turned to "Etc/UTC" -+ // by ICU before getting here. -+ DCHECK(canonical_time_zone != UNICODE_STRING_SIMPLE("Etc/GMT")); -+ if (canonical_time_zone == UNICODE_STRING_SIMPLE("Etc/UTC")) { - JSObject::SetProperty( - resolved, factory->NewStringFromStaticChars("timeZone"), - factory->NewStringFromStaticChars("UTC"), SLOPPY).Assert(); |