Skip to content
This repository has been archived by the owner on Apr 22, 2023. It is now read-only.

Commit

Permalink
Upgrade V8 to 3.11.1
Browse files Browse the repository at this point in the history
  • Loading branch information
isaacs committed May 16, 2012
1 parent 4099d1e commit 3f3f958
Show file tree
Hide file tree
Showing 297 changed files with 25,594 additions and 6,834 deletions.
1 change: 1 addition & 0 deletions deps/v8/AUTHORS
Expand Up @@ -23,6 +23,7 @@ Daniel James <dnljms@gmail.com>
Dineel D Sule <dsule@codeaurora.org>
Erich Ocean <erich.ocean@me.com>
Fedor Indutny <fedor@indutny.com>
Filipe David Manana <fdmanana@gmail.com>
Ioseb Dzmanashvili <ioseb.dzmanashvili@gmail.com>
Jan de Mooij <jandemooij@gmail.com>
Jay Freeman <saurik@saurik.com>
Expand Down
205 changes: 205 additions & 0 deletions deps/v8/ChangeLog
@@ -1,3 +1,208 @@
2012-05-15: Version 3.11.1

Added a readbuffer function to d8 that reads a file into an ArrayBuffer.

Fix freebsd build. (V8 issue 2126)

Performance and stability improvements on all platforms.


2012-05-11: Version 3.11.0

Fixed compose-discard crasher from r11524 (issue 2123).

Activated new global semantics by default. Global variables can
now shadow properties of the global object (ES5.1 erratum).

Properly set ElementsKind of empty FAST_DOUBLE_ELEMENTS arrays when
transitioning (Chromium issue 117409).

Made Error.prototype.name writable again, as required by the spec and
the web (Chromium issue 69187).

Implemented map collection with incremental marking (issue 1465).

Regexp: Fixed overflow in min-match-length calculation
(Chromium issue 126412).

MIPS: Fixed illegal instruction use on Loongson in code for
Math.random() (issue 2115).

Fixed crash bug in VisitChoice (Chromium issue 126272).

Fixed unsigned-Smi check in MappedArgumentsLookup
(Chromium issue 126414).

Fixed LiveEdit for function with no locals (issue 825).

Fixed register clobbering in LoadIC for interceptors
(Chromium issue 125988).

Implemented clearing of CompareICs (issue 2102).

Performance and stability improvements on all platforms.


2012-05-03: Version 3.10.8

Enabled MIPS cross-compilation.

Ensured reload of elements pointer in StoreFastDoubleElement stub.
(Chromium issue 125515)

Fixed corner cases in truncation behavior when storing to
TypedArrays. (issue 2110)

Fixed failure to properly recognize and report out-of-memory
conditions when allocating code space pages. (Chromium issue
118625)

Fixed idle notifications to perform a round of incremental GCs
after context disposal. (issue 2107)

Fixed preparser for try statement. (issue 2109)

Performance and stability improvements on all platforms.


2012-04-30: Version 3.10.7

Performance and stability improvements on all platforms.


2012-04-26: Version 3.10.6

Fixed some bugs in accessing details of the last regexp match.

Fixed source property of empty RegExp objects. (issue 1982)

Enabled inlining some V8 API functions.

Performance and stability improvements on all platforms.


2012-04-23: Version 3.10.5

Put new global var semantics behind a flag until WebKit tests are
cleaned up.

Enabled stepping into callback passed to builtins.
(Chromium issue 109564)

Performance and stability improvements on all platforms.


2012-04-19: Version 3.10.4

Fixed issues when stressing compaction with WeakMaps.

Fixed missing GVN flag for new-space promotion. (Chromium issue 123919)

Simplify invocation sequence at monomorphic function invocation sites.
(issue 2079)

Performance and stability improvements on all platforms.


2012-04-17: Version 3.10.3

Fixed several bugs in heap profiles (including issue 2078).

Throw syntax errors on illegal escape sequences.

Implemented rudimentary module linking (behind --harmony flag)

Implemented ES5 erratum: Global declarations should shadow
inherited properties.

Made handling of const more consistent when combined with 'eval'
and 'with'.

Fixed V8 on MinGW-x64 (issue 2026).

Performance and stability improvements on all platforms.


2012-04-13: Version 3.10.2

Fixed native ARM build (issues 1744, 539)

Return LOOKUP variable instead of CONTEXT for non-context allocated
outer scope parameters (Chromium issue 119609).

Fixed regular and ElementsKind transitions interfering with each other
(Chromium issue 122271).

Improved performance of keyed loads/stores which have a HeapNumber
index (issues 1388, 1295).

Fixed WeakMap processing for evacuation candidates (issue 2060).

Bailout on possible direct eval calls (Chromium issue 122681).

Do not assume that names of function expressions are context-allocated
(issue 2051).

Performance and stability improvements on all platforms.


2012-04-10: Version 3.10.1

Fixed bug with arguments object in inlined functions (issue 2045).

Fixed performance bug with lazy initialization (Chromium issue
118686).

Added suppport for Mac OS X 64bit builds with GYP.
(Patch contributed by Filipe David Manana <fdmanana@gmail.com>)

Fixed bug with hidden properties (issue 2034).

Fixed a performance bug when reloading pages (Chromium issue 117767,
V8 issue 1902).

Fixed bug when optimizing throw in top-level code (issue 2054).

Fixed two bugs with array literals (issue 2055, Chromium issue 121407).

Fixed bug with Math.min/Math.max with NaN inputs (issue 2056).

Fixed a bug with the new runtime profiler (Chromium issue 121147).

Fixed compilation of V8 using uClibc.

Optimized boot-up memory use.

Optimized regular expressions.


2012-03-30: Version 3.10.0

Fixed store IC writability check in strict mode
(Chromium issue 120099).

Resynchronize timers if the Windows system time was changed.
(Chromium issue 119815)

Removed "-mfloat-abi=hard" from host compiler cflags when building for
hardfp ARM
(https://code.google.com/p/chrome-os-partner/issues/detail?id=8539)

Fixed edge case for case independent regexp character classes
(issue 2032).

Reset function info counters after context disposal.
(Chromium issue 117767, V8 issue 1902)

Fixed missing write barrier in CopyObjectToObjectElements.
(Chromium issue 119926)

Fixed missing bounds check in HasElementImpl.
(Chromium issue 119925)

Performance and stability improvements on all platforms.


2012-03-23: Version 3.9.24

Activated count-based profiler for ARM.
Expand Down
27 changes: 27 additions & 0 deletions deps/v8/DEPS
@@ -0,0 +1,27 @@
# Note: The buildbots evaluate this file with CWD set to the parent
# directory and assume that the root of the checkout is in ./v8/, so
# all paths in here must match this assumption.

deps = {
# Remember to keep the revision in sync with the Makefile.
"v8/build/gyp":
"http://gyp.googlecode.com/svn/trunk@1282",
}

deps_os = {
"win": {
"v8/third_party/cygwin":
"http://src.chromium.org/svn/trunk/deps/third_party/cygwin@66844",

"v8/third_party/python_26":
"http://src.chromium.org/svn/trunk/tools/third_party/python_26@89111",
}
}

hooks = [
{
# A change to a .gyp, .gypi, or to GYP itself should run the generator.
"pattern": ".",
"action": ["python", "v8/build/gyp_v8"],
},
]
74 changes: 33 additions & 41 deletions deps/v8/Makefile
Expand Up @@ -137,28 +137,34 @@ ENVFILE = $(OUTDIR)/environment
# Target definitions. "all" is the default.
all: $(MODES)

# Special target for the buildbots to use. Depends on $(OUTDIR)/Makefile
# having been created before.
buildbot:
$(MAKE) -C "$(OUTDIR)" BUILDTYPE=$(BUILDTYPE) \
builddir="$(abspath $(OUTDIR))/$(BUILDTYPE)"

# Compile targets. MODES and ARCHES are convenience targets.
.SECONDEXPANSION:
$(MODES): $(addsuffix .$$@,$(DEFAULT_ARCHES))

$(ARCHES): $(addprefix $$@.,$(MODES))

# Defines how to build a particular target (e.g. ia32.release).
$(BUILDS): $(OUTDIR)/Makefile-$$(basename $$@)
@$(MAKE) -C "$(OUTDIR)" -f Makefile-$(basename $@) \
$(BUILDS): $(OUTDIR)/Makefile.$$(basename $$@)
@$(MAKE) -C "$(OUTDIR)" -f Makefile.$(basename $@) \
CXX="$(CXX)" LINK="$(LINK)" \
BUILDTYPE=$(shell echo $(subst .,,$(suffix $@)) | \
python -c "print raw_input().capitalize()") \
builddir="$(shell pwd)/$(OUTDIR)/$@"

native: $(OUTDIR)/Makefile-native
@$(MAKE) -C "$(OUTDIR)" -f Makefile-native \
native: $(OUTDIR)/Makefile.native
@$(MAKE) -C "$(OUTDIR)" -f 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 \
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" \
Expand Down Expand Up @@ -191,55 +197,40 @@ native.check: native
--arch-and-mode=. $(TESTFLAGS)

# Clean targets. You can clean each architecture individually, or everything.
$(addsuffix .clean,$(ARCHES)):
rm -f $(OUTDIR)/Makefile-$(basename $@)
$(addsuffix .clean,$(ARCHES)) android.clean:
rm -f $(OUTDIR)/Makefile.$(basename $@)
rm -rf $(OUTDIR)/$(basename $@).release
rm -rf $(OUTDIR)/$(basename $@).debug
find $(OUTDIR) -regex '.*\(host\|target\)-$(basename $@)\.mk' -delete
find $(OUTDIR) -regex '.*\(host\|target\).$(basename $@)\.mk' -delete

native.clean:
rm -f $(OUTDIR)/Makefile-native
rm -f $(OUTDIR)/Makefile.native
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
find $(OUTDIR) -regex '.*\(host\|target\).native\.mk' -delete

clean: $(addsuffix .clean,$(ARCHES)) native.clean
clean: $(addsuffix .clean,$(ARCHES)) native.clean android.clean

# GYP file generation targets.
$(OUTDIR)/Makefile-ia32: $(GYPFILES) $(ENVFILE)
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -Dtarget_arch=ia32 \
-S-ia32 $(GYPFLAGS)

$(OUTDIR)/Makefile-x64: $(GYPFILES) $(ENVFILE)
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -Dtarget_arch=x64 \
-S-x64 $(GYPFLAGS)

$(OUTDIR)/Makefile-arm: $(GYPFILES) $(ENVFILE) build/armu.gypi
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -Ibuild/armu.gypi \
-S-arm $(GYPFLAGS)

$(OUTDIR)/Makefile-mips: $(GYPFILES) $(ENVFILE) build/mipsu.gypi
MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(ARCHES))
$(MAKEFILES): $(GYPFILES) $(ENVFILE)
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -Ibuild/mipsu.gypi \
-S-mips $(GYPFLAGS)
-Ibuild/standalone.gypi --depth=. \
-Dv8_target_arch=$(subst .,,$(suffix $@)) \
-S.$(subst .,,$(suffix $@)) $(GYPFLAGS)

$(OUTDIR)/Makefile-native: $(GYPFILES) $(ENVFILE)
$(OUTDIR)/Makefile.native: $(GYPFILES) $(ENVFILE)
GYP_GENERATORS=make \
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -S-native $(GYPFLAGS)
-Ibuild/standalone.gypi --depth=. -S.native $(GYPFLAGS)

$(OUTDIR)/Makefile-android: $(GYPFILES) $(ENVFILE) build/android.gypi \
$(OUTDIR)/Makefile.android: $(GYPFILES) $(ENVFILE) build/android.gypi \
must-set-ANDROID_NDK_ROOT
GYP_GENERATORS=make \
CC="${ANDROID_TOOL_PREFIX}-gcc" \
build/gyp/gyp --generator-output="$(OUTDIR)" build/all.gyp \
-Ibuild/standalone.gypi --depth=. -Ibuild/android.gypi \
-S-android $(GYPFLAGS)
-S.android $(GYPFLAGS)

must-set-ANDROID_NDK_ROOT:
ifndef ANDROID_NDK_ROOT
Expand All @@ -255,9 +246,10 @@ $(ENVFILE): $(ENVFILE).new

# Stores current GYPFLAGS in a file.
$(ENVFILE).new:
@mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS)" > $(ENVFILE).new;
@mkdir -p $(OUTDIR); echo "GYPFLAGS=$(GYPFLAGS)" > $(ENVFILE).new; \
echo "CXX=$(CXX)" >> $(ENVFILE).new

# Dependencies.
dependencies:
svn checkout --force http://gyp.googlecode.com/svn/trunk build/gyp \
--revision 1026
--revision 1282
13 changes: 13 additions & 0 deletions deps/v8/SConstruct
Expand Up @@ -1601,4 +1601,17 @@ except:
pass


def WarnAboutDeprecation():
print """
#######################################################
# WARNING: Building V8 with SCons is deprecated and #
# will not work much longer. Please switch to using #
# the GYP-based build now. Instructions are at #
# http://code.google.com/p/v8/wiki/BuildingWithGYP. #
#######################################################
"""

WarnAboutDeprecation()
import atexit
atexit.register(WarnAboutDeprecation)
Build()

0 comments on commit 3f3f958

Please sign in to comment.