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

Commit

Permalink
v8: upgrade to 3.22.24
Browse files Browse the repository at this point in the history
This commit removes the simple/test-event-emitter-memory-leak test for
being unreliable with the new garbage collector: the memory pressure
exerted by the test case is too low for the garbage collector to kick
in.
  • Loading branch information
bnoordhuis committed Nov 10, 2013
1 parent a48b647 commit 71b98b4
Show file tree
Hide file tree
Showing 474 changed files with 31,104 additions and 26,995 deletions.
10 changes: 6 additions & 4 deletions configure
Expand Up @@ -435,9 +435,6 @@ def configure_arm(o):
def configure_node(o):
if options.dest_os == 'android':
o['variables']['OS'] = 'android'
o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs.
o['variables']['v8_random_seed'] = 0 # Use a random seed for hash tables.
o['variables']['node_prefix'] = os.path.expanduser(options.prefix or '')
o['variables']['node_install_npm'] = b(not options.without_npm)
o['default_configuration'] = 'Debug' if options.debug else 'Release'
Expand Down Expand Up @@ -565,8 +562,13 @@ def configure_libuv(o):


def configure_v8(o):
o['variables']['v8_use_snapshot'] = b(not options.without_snapshot)
o['variables']['node_shared_v8'] = b(options.shared_v8)
o['variables']['v8_enable_gdbjit'] = 1 if options.gdb else 0
o['variables']['v8_enable_i18n_support'] = 0 # Don't require libicu.
o['variables']['v8_no_strict_aliasing'] = 1 # Work around compiler bugs.
o['variables']['v8_optimized_debug'] = 0 # Compile with -O0 in debug builds.
o['variables']['v8_random_seed'] = 0 # Use a random seed for hash tables.
o['variables']['v8_use_snapshot'] = b(not options.without_snapshot)

# assume shared_v8 if one of these is set?
if options.shared_v8_libpath:
Expand Down
8 changes: 0 additions & 8 deletions deps/v8/.gitignore
Expand Up @@ -37,24 +37,16 @@ shell_g
/out
/perf.data
/perf.data.old
/test/benchmarks/benchmarks.status2
/test/benchmarks/CHECKED_OUT_*
/test/benchmarks/downloaded_*
/test/benchmarks/kraken
/test/benchmarks/octane
/test/benchmarks/sunspider
/test/cctest/cctest.status2
/test/message/message.status2
/test/mjsunit/mjsunit.status2
/test/mozilla/CHECKED_OUT_VERSION
/test/mozilla/data
/test/mozilla/downloaded_*
/test/mozilla/mozilla.status2
/test/preparser/preparser.status2
/test/test262/data
/test/test262/test262-*
/test/test262/test262.status2
/test/webkit/webkit.status2
/third_party
/tools/jsfunfuzz
/tools/jsfunfuzz.zip
Expand Down
223 changes: 223 additions & 0 deletions deps/v8/ChangeLog
@@ -1,3 +1,226 @@
2013-10-31: Version 3.22.24

Fixed uint32-to-smi conversion in Lithium.
(Chromium issue 309623)

Performance and stability improvements on all platforms.


2013-10-28: Version 3.22.23

Renamed deprecated __attribute__((no_address_safety_analysis)) to
__attribute__((no_sanitize_address)) (Chromium issue 311283)

Defined DEBUG for v8_optimized_debug=2

Performance and stability improvements on all platforms.


2013-10-25: Version 3.22.22

Record allocation stack traces. (Chromium issue 277984,v8:2949)

Performance and stability improvements on all platforms.


2013-10-24: Version 3.22.21

Performance and stability improvements on all platforms.


2013-10-24: Version 3.22.20

Made Array.prototype.pop throw if the last element is not configurable.

Fixed HObjectAccess for loads from migrating prototypes.
(Chromium issue 305309)

Enabled preaging of code objects when --optimize-for-size.
(Chromium issue 280984)

Exposed v8::Function::GetDisplayName to public API.
(Chromium issue 17356)

Performance and stability improvements on all platforms.


2013-10-23: Version 3.22.19

Fix materialization of captured objects with field tracking.
(Chromium issue 298990)

Performance and stability improvements on all platforms.


2013-10-22: Version 3.22.18

Add tool to visualize machine code/lithium.

Handle misaligned loads and stores in load elimination. Do not track
misaligned loads and be conservative about invalidating misaligned
stores. (issue 2934)

Performance and stability improvements on all platforms.


2013-10-21: Version 3.22.17

Harmony: Implement Math.trunc and Math.sign. (issue 2938)

Performance and stability improvements on all platforms.


2013-10-21: Version 3.22.16

Performance and stability improvements on all platforms.


2013-10-18: Version 3.22.15

Enabled calling the SetReference* & SetObjectGroupId functions with a
Persistent<SubclassOfValue>.

Performance and stability improvements on all platforms.


2013-10-17: Version 3.22.14

Performance and stability improvements on all platforms.


2013-10-16: Version 3.22.13

Do not look up ArrayBuffer on global object in typed array constructor.
(issue 2931)

Performance and stability improvements on all platforms.


2013-10-15: Version 3.22.12

Added histograms to track fraction of heap spaces and percentage of
generated crankshaft code.

Moved v8_optimized_debug default value to standalone.gypi.

Track JS allocations as they arrive with no affection on performance
when tracking is switched off (Chromium issue 277984).

Performance and stability improvements on all platforms.


2013-10-14: Version 3.22.11

Performance and stability improvements on all platforms.


2013-10-11: Version 3.22.10

Fixed timezone issues with date-time/parse-* tests.
(Chromium issue 2919)

Added column getter to CpuProfileNode (Chromium issue 302537)

Performance and stability improvements on all platforms.


2013-10-10: Version 3.22.9

Ensure only whitelisted stubs have sse2 versions in the snapshot.
(fix for chromium 304565)

Implement ArrayBuffer.isView.

Performance and stability improvements on all platforms.


2013-10-04: Version 3.22.8

Performance and stability improvements on all platforms.


2013-10-03: Version 3.22.7

Debug: Allow stepping into on a given call frame
(Chromium issue 296963).

Always use timeGetTime() for TimeTicks::Now() on Windows
(Chromium issue 288924).

Performance and stability improvements on all platforms.


2013-10-02: Version 3.22.6

Performance and stability improvements on all platforms.


2013-10-01: Version 3.22.5

Disabled externalization of sliced/cons strings in old pointer space
(Chromium issue 276357).

Turned on handle zapping for release builds

Performance and stability improvements on all platforms.


2013-09-30: Version 3.22.4

Function::Call and Object::CallAsFunction APIs should allow v8::Value as
a receiver (issue 2915).

Removed unnecessary mutex (Chromium issue 291236).

Removed ArrayBufferView::BaseAddress method.

Performance and stability improvements on all platforms.


2013-09-27: Version 3.22.3

Added methods to enable configuration of ResourceConstraints based on
limits derived at runtime.
(Chromium issue 292928)

Added -optimize-for-size flag to optimize for memory size (will be used
by pre-aging CL), and removed the is_memory_constrained
ResourceConstraint.
(Chromium issue 292928)

Performance and stability improvements on all platforms.


2013-09-26: Version 3.22.2

Performance and stability improvements on all platforms.


2013-09-25: Version 3.22.1

Sped up creating typed arrays from array-like objects.
(Chromium issue 270507)

Performance and stability improvements on all platforms.


2013-09-23: Version 3.22.0

LiveEdit to mark more closure functions for re-instantiation when scope
layout changes.
(issue 2872)

Made bounds check elimination iterative instead of recursive.
(Chromium issue 289706)

Turned on i18n support by default.

Set the proper instance-type on HAllocate in BuildFastLiteral.
(Chromium issue 284577)

Performance and stability improvements on all platforms.


2013-09-18: Version 3.21.17

Implemented local load/store elimination on basic blocks.
Expand Down
23 changes: 14 additions & 9 deletions deps/v8/Makefile
Expand Up @@ -76,10 +76,10 @@ ifeq ($(snapshot), off)
endif
# extrachecks=on/off
ifeq ($(extrachecks), on)
GYPFLAGS += -Dv8_enable_extra_checks=1
GYPFLAGS += -Dv8_enable_extra_checks=1 -Dv8_enable_handle_zapping=1
endif
ifeq ($(extrachecks), off)
GYPFLAGS += -Dv8_enable_extra_checks=0
GYPFLAGS += -Dv8_enable_extra_checks=0 -Dv8_enable_handle_zapping=0
endif
# gdbjit=on/off
ifeq ($(gdbjit), on)
Expand Down Expand Up @@ -124,10 +124,15 @@ endif
ifeq ($(regexp), interpreted)
GYPFLAGS += -Dv8_interpreted_regexp=1
endif
# i18nsupport=on
ifeq ($(i18nsupport), on)
GYPFLAGS += -Dv8_enable_i18n_support=1
# i18nsupport=off
ifeq ($(i18nsupport), off)
GYPFLAGS += -Dv8_enable_i18n_support=0
TESTFLAGS += --noi18n
endif
# deprecation_warnings=on
ifeq ($(deprecationwarnings), on)
GYPFLAGS += -Dv8_deprecation_warnings=1
endif
# arm specific flags.
# armv7=false/true
ifeq ($(armv7), false)
Expand Down Expand Up @@ -217,8 +222,8 @@ NACL_ARCHES = nacl_ia32 nacl_x64

# List of files that trigger Makefile regeneration:
GYPFILES = build/all.gyp build/features.gypi build/standalone.gypi \
build/toolchain.gypi preparser/preparser.gyp samples/samples.gyp \
src/d8.gyp test/cctest/cctest.gyp tools/gyp/v8.gyp
build/toolchain.gypi samples/samples.gyp src/d8.gyp \
test/cctest/cctest.gyp tools/gyp/v8.gyp

# If vtunejit=on, the v8vtune.gyp will be appended.
ifeq ($(vtunejit), on)
Expand Down Expand Up @@ -323,15 +328,15 @@ $(addsuffix .check, $(ANDROID_BUILDS)): $$(basename $$@).sync
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
--arch-and-mode=$(basename $@) \
--timeout=600 \
--command-prefix="tools/android-run.py"
--command-prefix="tools/android-run.py" $(TESTFLAGS)

$(addsuffix .check, $(ANDROID_ARCHES)): \
$(addprefix $$(basename $$@).,$(MODES)).check

$(addsuffix .check, $(NACL_BUILDS)): $$(basename $$@)
@tools/run-tests.py $(TESTJOBS) --outdir=$(OUTDIR) \
--arch-and-mode=$(basename $@) \
--timeout=600 --nopresubmit \
--timeout=600 --nopresubmit --noi18n \
--command-prefix="tools/nacl-run.py"

$(addsuffix .check, $(NACL_ARCHES)): \
Expand Down
3 changes: 3 additions & 0 deletions deps/v8/Makefile.nacl
Expand Up @@ -74,6 +74,9 @@ endif
# For mksnapshot host generation.
GYPENV += host_os=${HOST_OS}

# ICU doesn't support NaCl.
GYPENV += v8_enable_i18n_support=0

NACL_MAKEFILES = $(addprefix $(OUTDIR)/Makefile.,$(NACL_ARCHES))
.SECONDEXPANSION:
# For some reason the $$(basename $$@) expansion didn't work here...
Expand Down
4 changes: 3 additions & 1 deletion deps/v8/OWNERS
Expand Up @@ -2,12 +2,14 @@ bmeurer@chromium.org
danno@chromium.org
dslomov@chromium.org
hpayer@chromium.org
ishell@chromium.org
jkummerow@chromium.org
mmassi@chromium.org
machenbach@chromium.org
mstarzinger@chromium.org
mvstanton@chromium.org
rossberg@chromium.org
svenpanne@chromium.org
titzer@chromium.org
ulan@chromium.org
vegorov@chromium.org
verwaest@chromium.org
Expand Down
18 changes: 15 additions & 3 deletions deps/v8/PRESUBMIT.py
Expand Up @@ -58,6 +58,17 @@ def _CommonChecks(input_api, output_api):
return results


def _SkipTreeCheck(input_api, output_api):
"""Check the env var whether we want to skip tree check.
Only skip if src/version.cc has been updated."""
src_version = 'src/version.cc'
FilterFile = lambda file: file.LocalPath() == src_version
if not input_api.AffectedSourceFiles(
lambda file: file.LocalPath() == src_version):
return False
return input_api.environ.get('PRESUBMIT_TREE_CHECK') == 'skip'


def CheckChangeOnUpload(input_api, output_api):
results = []
results.extend(_CommonChecks(input_api, output_api))
Expand All @@ -69,7 +80,8 @@ def CheckChangeOnCommit(input_api, output_api):
results.extend(_CommonChecks(input_api, output_api))
results.extend(input_api.canned_checks.CheckChangeHasDescription(
input_api, output_api))
results.extend(input_api.canned_checks.CheckTreeIsOpen(
input_api, output_api,
json_url='http://v8-status.appspot.com/current?format=json'))
if not _SkipTreeCheck(input_api, output_api):
results.extend(input_api.canned_checks.CheckTreeIsOpen(
input_api, output_api,
json_url='http://v8-status.appspot.com/current?format=json'))
return results

0 comments on commit 71b98b4

Please sign in to comment.