This repository has been archived by the owner. It is now read-only.
Permalink
Browse files

Upgrade V8 to 3.8.8

  • Loading branch information...
1 parent b1b16d1 commit 40879f33cd083ad8e16860a19cce03a0126e12a5 @isaacs isaacs committed Jan 24, 2012
Showing with 2,208 additions and 3,930 deletions.
  1. +38 −0 deps/v8/ChangeLog
  2. +39 −2 deps/v8/Makefile
  3. +9 −8 deps/v8/SConstruct
  4. +225 −0 deps/v8/build/android.gypi
  5. +22 −10 deps/v8/build/common.gypi
  6. +0 −1 deps/v8/build/standalone.gypi
  7. +1 −0 deps/v8/src/api.cc
  8. +4 −4 deps/v8/src/arm/code-stubs-arm.cc
  9. +5 −5 deps/v8/src/arm/constants-arm.h
  10. +1 −1 deps/v8/src/arm/disasm-arm.cc
  11. +3 −3 deps/v8/src/arm/full-codegen-arm.cc
  12. +25 −1 deps/v8/src/arm/ic-arm.cc
  13. +33 −25 deps/v8/src/arm/lithium-codegen-arm.cc
  14. +42 −30 deps/v8/src/arm/macro-assembler-arm.cc
  15. +7 −5 deps/v8/src/arm/macro-assembler-arm.h
  16. +15 −11 deps/v8/src/arm/stub-cache-arm.cc
  17. +1 −1 deps/v8/src/array.js
  18. +1 −1 deps/v8/src/assembler.h
  19. +8 −15 deps/v8/src/ast.cc
  20. +1 −1 deps/v8/src/bignum-dtoa.h
  21. +3 −3 deps/v8/src/bootstrapper.cc
  22. +1 −1 deps/v8/src/builtins.cc
  23. +2 −4 deps/v8/src/d8-debug.cc
  24. +27 −10 deps/v8/src/d8-readline.cc
  25. +29 −29 deps/v8/src/d8.cc
  26. +1 −1 deps/v8/src/d8.gyp
  27. +9 −10 deps/v8/src/d8.h
  28. +1 −1 deps/v8/src/dtoa.h
  29. +1 −1 deps/v8/src/execution.cc
  30. +0 −252 deps/v8/src/extensions/experimental/break-iterator.cc
  31. +0 −89 deps/v8/src/extensions/experimental/break-iterator.h
  32. +0 −222 deps/v8/src/extensions/experimental/collator.cc
  33. +0 −68 deps/v8/src/extensions/experimental/collator.h
  34. +0 −384 deps/v8/src/extensions/experimental/datetime-format.cc
  35. +0 −83 deps/v8/src/extensions/experimental/datetime-format.h
  36. +0 −105 deps/v8/src/extensions/experimental/experimental.gyp
  37. +0 −74 deps/v8/src/extensions/experimental/i18n-extension.cc
  38. +0 −54 deps/v8/src/extensions/experimental/i18n-extension.h
  39. +0 −126 deps/v8/src/extensions/experimental/i18n-js2c.py
  40. +0 −111 deps/v8/src/extensions/experimental/i18n-locale.cc
  41. +0 −60 deps/v8/src/extensions/experimental/i18n-locale.h
  42. +0 −87 deps/v8/src/extensions/experimental/i18n-utils.cc
  43. +0 −69 deps/v8/src/extensions/experimental/i18n-utils.h
  44. +0 −380 deps/v8/src/extensions/experimental/i18n.js
  45. +0 −252 deps/v8/src/extensions/experimental/language-matcher.cc
  46. +0 −95 deps/v8/src/extensions/experimental/language-matcher.h
  47. +0 −374 deps/v8/src/extensions/experimental/number-format.cc
  48. +0 −71 deps/v8/src/extensions/experimental/number-format.h
  49. +1 −1 deps/v8/src/factory.h
  50. +6 −4 deps/v8/src/full-codegen.h
  51. +1 −1 deps/v8/src/global-handles.cc
  52. +35 −14 deps/v8/src/heap.cc
  53. +8 −5 deps/v8/src/heap.h
  54. +12 −12 deps/v8/src/hydrogen-instructions.cc
  55. +83 −55 deps/v8/src/hydrogen-instructions.h
  56. +78 −54 deps/v8/src/hydrogen.cc
  57. +5 −4 deps/v8/src/hydrogen.h
  58. +22 −21 deps/v8/src/ia32/code-stubs-ia32.cc
  59. +3 −3 deps/v8/src/ia32/full-codegen-ia32.cc
  60. +24 −2 deps/v8/src/ia32/ic-ia32.cc
  61. +37 −26 deps/v8/src/ia32/lithium-codegen-ia32.cc
  62. +39 −28 deps/v8/src/ia32/macro-assembler-ia32.cc
  63. +3 −2 deps/v8/src/ia32/macro-assembler-ia32.h
  64. +1 −1 deps/v8/src/ia32/regexp-macro-assembler-ia32.cc
  65. +2 −2 deps/v8/src/ia32/stub-cache-ia32.cc
  66. +8 −6 deps/v8/src/ic.cc
  67. +1 −1 deps/v8/src/incremental-marking-inl.h
  68. +11 −11 deps/v8/src/incremental-marking.cc
  69. +4 −3 deps/v8/src/isolate.cc
  70. +15 −3 deps/v8/src/isolate.h
  71. +2 −2 deps/v8/src/json-parser.h
  72. +1 −1 deps/v8/src/jsregexp.cc
  73. +1 −1 deps/v8/src/jsregexp.h
  74. +1 −1 deps/v8/src/list.h
  75. +1 −1 deps/v8/src/liveedit-debugger.js
  76. +1 −1 deps/v8/src/liveobjectlist.cc
  77. +1 −1 deps/v8/src/macros.py
  78. +12 −2 deps/v8/src/mark-compact-inl.h
  79. +40 −31 deps/v8/src/mark-compact.cc
  80. +11 −3 deps/v8/src/mark-compact.h
  81. +11 −1 deps/v8/src/mips/assembler-mips-inl.h
  82. +11 −8 deps/v8/src/mips/assembler-mips.h
  83. +3 −3 deps/v8/src/mips/builtins-mips.cc
  84. +15 −14 deps/v8/src/mips/code-stubs-mips.cc
  85. +2 −2 deps/v8/src/mips/constants-mips.cc
  86. +1 −1 deps/v8/src/mips/constants-mips.h
  87. +3 −3 deps/v8/src/mips/full-codegen-mips.cc
  88. +25 −4 deps/v8/src/mips/ic-mips.cc
  89. +71 −45 deps/v8/src/mips/lithium-codegen-mips.cc
  90. +7 −3 deps/v8/src/mips/lithium-codegen-mips.h
  91. +11 −12 deps/v8/src/mips/lithium-gap-resolver-mips.cc
  92. +1 −1 deps/v8/src/mips/lithium-mips.cc
  93. +111 −33 deps/v8/src/mips/macro-assembler-mips.cc
  94. +29 −19 deps/v8/src/mips/macro-assembler-mips.h
  95. +2 −2 deps/v8/src/mips/simulator-mips.cc
  96. +26 −33 deps/v8/src/mips/stub-cache-mips.cc
  97. +1 −1 deps/v8/src/objects-debug.cc
  98. +2 −2 deps/v8/src/objects-inl.h
  99. +1 −1 deps/v8/src/objects-printer.cc
  100. +192 −73 deps/v8/src/objects.cc
  101. +15 −12 deps/v8/src/objects.h
  102. +1 −1 deps/v8/src/parser.cc
  103. +1 −1 deps/v8/src/parser.h
  104. +3 −2 deps/v8/src/platform-cygwin.cc
  105. +3 −2 deps/v8/src/platform-freebsd.cc
  106. +8 −3 deps/v8/src/platform-linux.cc
  107. +4 −3 deps/v8/src/platform-macos.cc
  108. +3 −2 deps/v8/src/platform-openbsd.cc
  109. +4 −3 deps/v8/src/platform-win32.cc
  110. +0 −5 deps/v8/src/property.h
  111. +1 −1 deps/v8/src/regexp-macro-assembler.cc
  112. +2 −2 deps/v8/src/regexp.js
  113. +105 −22 deps/v8/src/runtime.cc
  114. +8 −0 deps/v8/src/runtime.h
  115. +7 −0 deps/v8/src/serialize.cc
  116. +6 −5 deps/v8/src/serialize.h
  117. +2 −2 deps/v8/src/spaces-inl.h
  118. +15 −2 deps/v8/src/spaces.cc
  119. +21 −8 deps/v8/src/spaces.h
  120. +9 −0 deps/v8/src/string.js
  121. +5 −5 deps/v8/src/stub-cache.cc
  122. +5 −5 deps/v8/src/unicode.cc
  123. +9 −1 deps/v8/src/utils.h
  124. +1 −1 deps/v8/src/v8threads.cc
  125. +3 −3 deps/v8/src/v8utils.cc
  126. +2 −2 deps/v8/src/version.cc
  127. +23 −26 deps/v8/src/x64/code-stubs-x64.cc
  128. +11 −5 deps/v8/src/x64/full-codegen-x64.cc
  129. +23 −2 deps/v8/src/x64/ic-x64.cc
  130. +38 −26 deps/v8/src/x64/lithium-codegen-x64.cc
  131. +37 −24 deps/v8/src/x64/macro-assembler-x64.cc
  132. +4 −3 deps/v8/src/x64/macro-assembler-x64.h
  133. +1 −1 deps/v8/src/x64/regexp-macro-assembler-x64.cc
  134. +2 −2 deps/v8/src/x64/stub-cache-x64.cc
  135. +57 −11 deps/v8/test/cctest/test-api.cc
  136. +54 −0 deps/v8/test/cctest/test-heap.cc
  137. +1 −1 deps/v8/test/cctest/test-strings.cc
  138. +16 −0 deps/v8/test/mjsunit/harmony/proxies-function.js
  139. +12 −14 deps/v8/{src/extensions/experimental/i18n-natives.h → test/mjsunit/regress/regress-110509.js}
  140. +92 −0 deps/v8/test/mjsunit/string-replace-one-char.js
  141. +45 −18 deps/v8/tools/presubmit.py
View
@@ -1,3 +1,41 @@
+2012-01-23: Version 3.8.8
+
+ Limited number of loop iterations in Heap::ReserveSpace
+ (Chromium issue 99027).
+
+ Fixed solaris build (VirtualMemory) (issue 1761).
+
+ Fixed strict vs. non-strict handling of function proxies in
+ higher-order array and string methods.
+
+ Enabled asynchronous remote debugging with d8 (issue 1691).
+
+ Stability and performance improvements on all platforms.
+
+
+2012-01-19: Version 3.8.7
+
+ Ensure that LRandom restores rsi after call to the C function on x64.
+ (Chromium issue http://crbug.com/110509)
+
+ Fixing include issues on *bsd when building with scons.
+ (issue 1897)
+
+ Provide a switch to specify -fno-strict-aliasing
+ (issue 1887)
+
+ Move WIN32 define from standalone.gypi to common.gypi
+ (issue 1760)
+
+ Fix corner-case in heap size estimation.
+ (issue 1893)
+
+ Fix and enable NEW_NON_STRICT_FAST ArgumentsAccess stub on x64.
+ (issue 1903)
+
+ Performance improvements and bug fixes.
+
+
2012-01-16: Version 3.8.6
Add primitive WebGL array support to d8.
View
@@ -1,4 +1,4 @@
-# Copyright 2011 the V8 project authors. All rights reserved.
+# Copyright 2012 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:
@@ -33,6 +33,8 @@ OUTDIR ?= out
TESTJOBS ?= -j16
GYPFLAGS ?=
TESTFLAGS ?=
+ANDROID_NDK_ROOT ?=
+ANDROID_TOOL_PREFIX = $(ANDROID_NDK_ROOT)/toolchain/bin/arm-linux-androideabi
# Special build flags. Use them like this: "make library=shared"
@@ -85,6 +87,10 @@ endif
ifeq ($(presubmit), no)
TESTFLAGS += --no-presubmit
endif
+# strictaliasing=off (workaround for GCC-4.5)
+ifeq ($(strictaliasing), off)
+ GYPFLAGS += -Dv8_no_strict_aliasing=1
+endif
# ----------------- available targets: --------------------
# - "dependencies": pulls in external dependencies (currently: GYP)
@@ -93,6 +99,7 @@ endif
# - every combination <arch>.<mode>, e.g. "ia32.release"
# - "native": current host's architecture, release mode
# - any of the above with .check appended, e.g. "ia32.release.check"
+# - "android": cross-compile for Android/ARM (release mode)
# - default (no target specified): build all DEFAULT_ARCHES and MODES
# - "check": build all targets and run all tests
# - "<arch>.clean" for any <arch> in ARCHES
@@ -120,7 +127,8 @@ ENVFILE = $(OUTDIR)/environment
.PHONY: all check clean dependencies $(ENVFILE).new native \
$(ARCHES) $(MODES) $(BUILDS) $(CHECKS) $(addsuffix .clean,$(ARCHES)) \
- $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES))
+ $(addsuffix .check,$(MODES)) $(addsuffix .check,$(ARCHES)) \
+ must-set-ANDROID_NDK_ROOT
# Target definitions. "all" is the default.
all: $(MODES)
@@ -144,6 +152,18 @@ native: $(OUTDIR)/Makefile-native
CXX="$(CXX)" LINK="$(LINK)" BUILDTYPE=Release \
builddir="$(shell pwd)/$(OUTDIR)/$@"
+# TODO(jkummerow): add "android.debug" when we need it.
+android android.release: $(OUTDIR)/Makefile-android
+ @$(MAKE) -C "$(OUTDIR)" -f Makefile-android \
+ CXX="$(ANDROID_TOOL_PREFIX)-g++" \
+ AR="$(ANDROID_TOOL_PREFIX)-ar" \
+ RANLIB="$(ANDROID_TOOL_PREFIX)-ranlib" \
+ CC="$(ANDROID_TOOL_PREFIX)-gcc" \
+ LD="$(ANDROID_TOOL_PREFIX)-ld" \
+ LINK="$(ANDROID_TOOL_PREFIX)-g++" \
+ BUILDTYPE=Release \
+ builddir="$(shell pwd)/$(OUTDIR)/android.release"
+
# Test targets.
check: all
@tools/test-wrapper-gypbuild.py $(TESTJOBS) --outdir=$(OUTDIR) \
@@ -178,6 +198,11 @@ native.clean:
rm -rf $(OUTDIR)/native
find $(OUTDIR) -regex '.*\(host\|target\)-native\.mk' -delete
+android.clean:
+ rm -f $(OUTDIR)/Makefile-android
+ rm -rf $(OUTDIR)/android.release
+ find $(OUTDIR) -regex '.*\(host\|target\)-android\.mk' -delete
+
clean: $(addsuffix .clean,$(ARCHES)) native.clean
# GYP file generation targets.
@@ -205,6 +230,18 @@ $(OUTDIR)/Makefile-native: $(GYPFILES) $(ENVFILE)
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S-native $(GYPFLAGS)
+$(OUTDIR)/Makefile-android: $(GYPFILES) $(ENVFILE) build/android.gypi \
+ must-set-ANDROID_NDK_ROOT
+ CC="${ANDROID_TOOL_PREFIX}-gcc" \
+ build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
+ -Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \
+ -S-android $(GYPFLAGS)
+
+must-set-ANDROID_NDK_ROOT:
+ifndef ANDROID_NDK_ROOT
+ $(error ANDROID_NDK_ROOT is not set)
+endif
+
# Replaces the old with the new environment file if they're different, which
# will trigger GYP to regenerate Makefiles.
$(ENVFILE): $(ENVFILE).new
View
@@ -33,6 +33,7 @@ import os
from os.path import join, dirname, abspath
from types import DictType, StringTypes
root_dir = dirname(File('SConstruct').rfile().abspath)
+src_dir = join(root_dir, 'src')
sys.path.insert(0, join(root_dir, 'tools'))
import js2c, utils
@@ -53,7 +54,7 @@ GCC_DTOA_EXTRA_CCFLAGS = []
LIBRARY_FLAGS = {
'all': {
- 'CPPPATH': [join(root_dir, 'src')],
+ 'CPPPATH': [src_dir],
'regexp:interpreted': {
'CPPDEFINES': ['V8_INTERPRETED_REGEXP']
},
@@ -111,26 +112,26 @@ LIBRARY_FLAGS = {
}
},
'os:freebsd': {
- 'CPPPATH' : ['/usr/local/include'],
+ 'CPPPATH' : [src_dir, '/usr/local/include'],
'LIBPATH' : ['/usr/local/lib'],
'CCFLAGS': ['-ansi'],
'LIBS': ['execinfo']
},
'os:openbsd': {
- 'CPPPATH' : ['/usr/local/include'],
+ 'CPPPATH' : [src_dir, '/usr/local/include'],
'LIBPATH' : ['/usr/local/lib'],
'CCFLAGS': ['-ansi'],
},
'os:solaris': {
# On Solaris, to get isinf, INFINITY, fpclassify and other macros one
# needs to define __C99FEATURES__.
'CPPDEFINES': ['__C99FEATURES__'],
- 'CPPPATH' : ['/usr/local/include'],
+ 'CPPPATH' : [src_dir, '/usr/local/include'],
'LIBPATH' : ['/usr/local/lib'],
'CCFLAGS': ['-ansi'],
},
'os:netbsd': {
- 'CPPPATH' : ['/usr/pkg/include'],
+ 'CPPPATH' : [src_dir, '/usr/pkg/include'],
'LIBPATH' : ['/usr/pkg/lib'],
},
'os:win32': {
@@ -403,7 +404,7 @@ DTOA_EXTRA_FLAGS = {
CCTEST_EXTRA_FLAGS = {
'all': {
- 'CPPPATH': [join(root_dir, 'src')],
+ 'CPPPATH': [src_dir],
'library:shared': {
'CPPDEFINES': ['USING_V8_SHARED']
},
@@ -460,7 +461,7 @@ CCTEST_EXTRA_FLAGS = {
SAMPLE_FLAGS = {
'all': {
- 'CPPPATH': [join(abspath('.'), 'include')],
+ 'CPPPATH': [join(root_dir, 'include')],
'library:shared': {
'CPPDEFINES': ['USING_V8_SHARED']
},
@@ -643,7 +644,7 @@ SAMPLE_FLAGS = {
PREPARSER_FLAGS = {
'all': {
- 'CPPPATH': [join(abspath('.'), 'include'), join(abspath('.'), 'src')],
+ 'CPPPATH': [join(root_dir, 'include'), src_dir],
'library:shared': {
'CPPDEFINES': ['USING_V8_SHARED']
},
Oops, something went wrong.

0 comments on commit 40879f3

Please sign in to comment.