diff options
author | Trevor Norris <trev.norris@gmail.com> | 2013-08-27 15:18:12 -0700 |
---|---|---|
committer | Trevor Norris <trev.norris@gmail.com> | 2013-08-27 15:18:12 -0700 |
commit | 26bc8db33f15a365e22f23229d0700d70ac0d560 (patch) | |
tree | fbe2f60ef1380c023efa66e86d53d1d9f42ddb7c /deps/v8/tools | |
parent | d86814aeca64d8985402dc073eff1fc8ac93c231 (diff) | |
download | node-26bc8db33f15a365e22f23229d0700d70ac0d560.tar.gz |
v8: upgrade to 3.20.17
Diffstat (limited to 'deps/v8/tools')
-rw-r--r-- | deps/v8/tools/gcmole/Makefile | 2 | ||||
-rwxr-xr-x | deps/v8/tools/gcmole/bootstrap.sh | 126 | ||||
-rw-r--r-- | deps/v8/tools/gcmole/gcmole.lua | 3 | ||||
-rw-r--r-- | deps/v8/tools/gyp/v8.gyp | 5 | ||||
-rw-r--r-- | deps/v8/tools/tickprocessor.js | 3 | ||||
-rw-r--r-- | deps/v8/tools/v8heapconst.py | 9 |
6 files changed, 139 insertions, 9 deletions
diff --git a/deps/v8/tools/gcmole/Makefile b/deps/v8/tools/gcmole/Makefile index 23c029c2d..764245caf 100644 --- a/deps/v8/tools/gcmole/Makefile +++ b/deps/v8/tools/gcmole/Makefile @@ -40,4 +40,4 @@ libgcmole.so: gcmole.cc -shared -o libgcmole.so gcmole.cc clean: - rm libgcmole.so + rm -f libgcmole.so diff --git a/deps/v8/tools/gcmole/bootstrap.sh b/deps/v8/tools/gcmole/bootstrap.sh new file mode 100755 index 000000000..baa0b1f5f --- /dev/null +++ b/deps/v8/tools/gcmole/bootstrap.sh @@ -0,0 +1,126 @@ +#!/usr/bin/env bash + +# Copyright 2013 the V8 project authors. All rights reserved. +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions are +# met: +# +# * Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above +# copyright notice, this list of conditions and the following +# disclaimer in the documentation and/or other materials provided +# with the distribution. +# * Neither the name of Google Inc. nor the names of its +# contributors may be used to endorse or promote products derived +# from this software without specific prior written permission. +# +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS +# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT +# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR +# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT +# OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, +# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT +# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE +# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +# This script will build libgcmole.so. + +CLANG_RELEASE=2.9 + +THIS_DIR="$(dirname "${0}")" +LLVM_DIR="${THIS_DIR}/../../third_party/llvm" +CLANG_DIR="${LLVM_DIR}/tools/clang" + +LLVM_REPO_URL=${LLVM_URL:-https://llvm.org/svn/llvm-project} + +# Die if any command dies. +set -e + +OS="$(uname -s)" + +# Xcode and clang don't get along when predictive compilation is enabled. +# http://crbug.com/96315 +if [[ "${OS}" = "Darwin" ]] && xcodebuild -version | grep -q 'Xcode 3.2' ; then + XCONF=com.apple.Xcode + if [[ "${GYP_GENERATORS}" != "make" ]] && \ + [ "$(defaults read "${XCONF}" EnablePredictiveCompilation)" != "0" ]; then + echo + echo " HEARKEN!" + echo "You're using Xcode3 and you have 'Predictive Compilation' enabled." + echo "This does not work well with clang (http://crbug.com/96315)." + echo "Disable it in Preferences->Building (lower right), or run" + echo " defaults write ${XCONF} EnablePredictiveCompilation -boolean NO" + echo "while Xcode is not running." + echo + fi + + SUB_VERSION=$(xcodebuild -version | sed -Ene 's/Xcode 3\.2\.([0-9]+)/\1/p') + if [[ "${SUB_VERSION}" < 6 ]]; then + echo + echo " YOUR LD IS BUGGY!" + echo "Please upgrade Xcode to at least 3.2.6." + echo + fi +fi + +echo Getting LLVM r"${CLANG_RELEASE}" in "${LLVM_DIR}" +if ! svn co --force \ + "${LLVM_REPO_URL}/llvm/branches/release_${CLANG_RELEASE/./}" \ + "${LLVM_DIR}"; then + echo Checkout failed, retrying + rm -rf "${LLVM_DIR}" + svn co --force \ + "${LLVM_REPO_URL}/llvm/branches/release_${CLANG_RELEASE/./}" \ + "${LLVM_DIR}" +fi + +echo Getting clang r"${CLANG_RELEASE}" in "${CLANG_DIR}" +svn co --force \ + "${LLVM_REPO_URL}/cfe/branches/release_${CLANG_RELEASE/./}" \ + "${CLANG_DIR}" + +# Echo all commands +set -x + +NUM_JOBS=3 +if [[ "${OS}" = "Linux" ]]; then + NUM_JOBS="$(grep -c "^processor" /proc/cpuinfo)" +elif [ "${OS}" = "Darwin" ]; then + NUM_JOBS="$(sysctl -n hw.ncpu)" +fi + +# Build clang. +cd "${LLVM_DIR}" +if [[ ! -f ./config.status ]]; then + ../llvm/configure \ + --enable-optimized \ + --disable-threads \ + --disable-pthreads \ + --without-llvmgcc \ + --without-llvmgxx +fi + +MACOSX_DEPLOYMENT_TARGET=10.5 make -j"${NUM_JOBS}" +STRIP_FLAGS= +if [ "${OS}" = "Darwin" ]; then + # See http://crbug.com/256342 + STRIP_FLAGS=-x +fi +strip ${STRIP_FLAGS} Release/bin/clang +cd - + +# Build libgcmole.so +make -C "${THIS_DIR}" clean +make -C "${THIS_DIR}" LLVM_SRC_ROOT="${LLVM_DIR}" libgcmole.so + +set +x + +echo +echo You can now run gcmole using this command: +echo +echo CLANG_BIN=\"third_party/llvm/Release/bin\" lua tools/gcmole/gcmole.lua +echo diff --git a/deps/v8/tools/gcmole/gcmole.lua b/deps/v8/tools/gcmole/gcmole.lua index 66aff942a..aa9324756 100644 --- a/deps/v8/tools/gcmole/gcmole.lua +++ b/deps/v8/tools/gcmole/gcmole.lua @@ -103,7 +103,10 @@ local function MakeClangCommandLine(plugin, plugin_args, triple, arch_define) .. " -triple " .. triple .. " -D" .. arch_define .. " -DENABLE_DEBUGGER_SUPPORT" + .. " -DV8_I18N_SUPPORT" .. " -Isrc" + .. " -Ithird_party/icu/source/common" + .. " -Ithird_party/icu/source/i18n" end function InvokeClangPluginForEachFile(filenames, cfg, func) diff --git a/deps/v8/tools/gyp/v8.gyp b/deps/v8/tools/gyp/v8.gyp index cbf948448..66376c17d 100644 --- a/deps/v8/tools/gyp/v8.gyp +++ b/deps/v8/tools/gyp/v8.gyp @@ -290,6 +290,7 @@ '../../src/double.h', '../../src/dtoa.cc', '../../src/dtoa.h', + '../../src/effects.h', '../../src/elements-kind.cc', '../../src/elements-kind.h', '../../src/elements.cc', @@ -826,14 +827,10 @@ '../../src/i18n.h', '../../src/extensions/i18n/break-iterator.cc', '../../src/extensions/i18n/break-iterator.h', - '../../src/extensions/i18n/collator.cc', - '../../src/extensions/i18n/collator.h', '../../src/extensions/i18n/i18n-extension.cc', '../../src/extensions/i18n/i18n-extension.h', '../../src/extensions/i18n/i18n-utils.cc', '../../src/extensions/i18n/i18n-utils.h', - '../../src/extensions/i18n/number-format.cc', - '../../src/extensions/i18n/number-format.h', ], 'dependencies': [ '<(DEPTH)/third_party/icu/icu.gyp:icui18n', diff --git a/deps/v8/tools/tickprocessor.js b/deps/v8/tools/tickprocessor.js index 967bd3c5b..f1a11ccc9 100644 --- a/deps/v8/tools/tickprocessor.js +++ b/deps/v8/tools/tickprocessor.js @@ -249,7 +249,8 @@ TickProcessor.VmStates = { GC: 1, COMPILER: 2, OTHER: 3, - EXTERNAL: 4 + EXTERNAL: 4, + IDLE: 5 }; diff --git a/deps/v8/tools/v8heapconst.py b/deps/v8/tools/v8heapconst.py index 591bf99ca..57a1f595a 100644 --- a/deps/v8/tools/v8heapconst.py +++ b/deps/v8/tools/v8heapconst.py @@ -35,6 +35,7 @@ INSTANCE_TYPES = { 65: "CONS_STRING_TYPE", 69: "CONS_ASCII_STRING_TYPE", 67: "SLICED_STRING_TYPE", + 71: "SLICED_ASCII_STRING_TYPE", 66: "EXTERNAL_STRING_TYPE", 70: "EXTERNAL_ASCII_STRING_TYPE", 74: "EXTERNAL_STRING_WITH_ONE_BYTE_DATA_TYPE", @@ -108,6 +109,8 @@ INSTANCE_TYPES = { 186: "JS_TYPED_ARRAY_TYPE", 187: "JS_DATA_VIEW_TYPE", 174: "JS_PROXY_TYPE", + 188: "JS_SET_TYPE", + 189: "JS_MAP_TYPE", 190: "JS_WEAK_MAP_TYPE", 191: "JS_WEAK_SET_TYPE", 192: "JS_REGEXP_TYPE", @@ -231,7 +234,7 @@ KNOWN_OBJECTS = { ("OLD_POINTER_SPACE", 0x0e0a1): "ElementsTransitionSymbol", ("OLD_POINTER_SPACE", 0x0e0ad): "EmptySlowElementDictionary", ("OLD_POINTER_SPACE", 0x0e249): "ObservedSymbol", - ("OLD_POINTER_SPACE", 0x27585): "StringTable", + ("OLD_POINTER_SPACE", 0x274e9): "StringTable", ("OLD_DATA_SPACE", 0x08099): "EmptyDescriptorArray", ("OLD_DATA_SPACE", 0x080a1): "EmptyFixedArray", ("OLD_DATA_SPACE", 0x080a9): "NanValue", @@ -247,6 +250,6 @@ KNOWN_OBJECTS = { ("OLD_DATA_SPACE", 0x082c9): "EmptyExternalPixelArray", ("OLD_DATA_SPACE", 0x082d5): "InfinityValue", ("OLD_DATA_SPACE", 0x082e1): "MinusZeroValue", - ("CODE_SPACE", 0x0eb41): "JsConstructEntryCode", - ("CODE_SPACE", 0x177a1): "JsEntryCode", + ("CODE_SPACE", 0x10d01): "JsConstructEntryCode", + ("CODE_SPACE", 0x183c1): "JsEntryCode", } |