From 5a9288abcf660ba3499c9e650b415d81872837fc Mon Sep 17 00:00:00 2001 From: Feng Qian Date: Mon, 13 Jul 2009 16:30:18 -0700 Subject: Update V8 to bleeding_edge@2450 to pick up a few important fixes. API stays the same, and the same revision is pushed to Chromium. --- V8Binding/v8/ChangeLog | 27 + V8Binding/v8/SConstruct | 15 +- V8Binding/v8/benchmarks/README.txt | 5 +- V8Binding/v8/benchmarks/deltablue.js | 14 +- V8Binding/v8/benchmarks/revisions.html | 5 +- V8Binding/v8/src/api.cc | 3 +- V8Binding/v8/src/api.h | 5 +- V8Binding/v8/src/apinatives.js | 1 + V8Binding/v8/src/arm/assembler-arm.cc | 11 +- V8Binding/v8/src/arm/disasm-arm.cc | 20 +- V8Binding/v8/src/arm/ic-arm.cc | 18 +- V8Binding/v8/src/arm/macro-assembler-arm.cc | 19 +- V8Binding/v8/src/arm/simulator-arm.cc | 29 +- V8Binding/v8/src/arm/stub-cache-arm.cc | 344 +++-- V8Binding/v8/src/bootstrapper.cc | 31 +- V8Binding/v8/src/code-stubs.cc | 2 +- V8Binding/v8/src/compilation-cache.cc | 1 + V8Binding/v8/src/d8-posix.cc | 6 +- V8Binding/v8/src/date-delay.js | 34 +- V8Binding/v8/src/debug-delay.js | 65 +- V8Binding/v8/src/debug.cc | 22 +- V8Binding/v8/src/debug.h | 5 + V8Binding/v8/src/factory.cc | 20 +- V8Binding/v8/src/factory.h | 13 +- V8Binding/v8/src/flag-definitions.h | 4 +- V8Binding/v8/src/globals.h | 16 +- V8Binding/v8/src/handles.cc | 28 +- V8Binding/v8/src/handles.h | 4 +- V8Binding/v8/src/heap-inl.h | 19 +- V8Binding/v8/src/heap.cc | 418 +++--- V8Binding/v8/src/heap.h | 283 ++-- V8Binding/v8/src/ia32/assembler-ia32.cc | 6 +- V8Binding/v8/src/ia32/codegen-ia32.cc | 10 + V8Binding/v8/src/ia32/ic-ia32.cc | 6 + V8Binding/v8/src/ia32/stub-cache-ia32.cc | 363 ++--- V8Binding/v8/src/ic.cc | 43 +- V8Binding/v8/src/jsregexp.cc | 242 ++-- V8Binding/v8/src/jsregexp.h | 13 +- V8Binding/v8/src/mark-compact.cc | 189 +-- V8Binding/v8/src/mark-compact.h | 10 +- V8Binding/v8/src/math.js | 22 +- V8Binding/v8/src/messages.js | 8 - V8Binding/v8/src/objects-debug.cc | 66 +- V8Binding/v8/src/objects-inl.h | 79 +- V8Binding/v8/src/objects.cc | 283 ++-- V8Binding/v8/src/objects.h | 275 ++-- V8Binding/v8/src/parser.cc | 10 +- V8Binding/v8/src/platform-posix.cc | 15 +- V8Binding/v8/src/property.cc | 14 - V8Binding/v8/src/property.h | 88 -- V8Binding/v8/src/runtime.cc | 51 +- V8Binding/v8/src/scopes.cc | 123 +- V8Binding/v8/src/scopes.h | 58 +- V8Binding/v8/src/serialize.cc | 82 +- V8Binding/v8/src/serialize.h | 7 +- V8Binding/v8/src/spaces.cc | 370 +++--- V8Binding/v8/src/spaces.h | 136 +- V8Binding/v8/src/string-stream.cc | 9 +- V8Binding/v8/src/stub-cache.cc | 27 +- V8Binding/v8/src/stub-cache.h | 102 +- V8Binding/v8/src/unicode.cc | 13 +- V8Binding/v8/src/variables.h | 16 +- V8Binding/v8/src/version.cc | 6 +- V8Binding/v8/src/x64/assembler-x64.cc | 184 ++- V8Binding/v8/src/x64/assembler-x64.h | 38 +- V8Binding/v8/src/x64/codegen-x64.cc | 240 ++-- V8Binding/v8/src/x64/codegen-x64.h | 52 - V8Binding/v8/src/x64/debug-x64.cc | 6 +- V8Binding/v8/src/x64/disasm-x64.cc | 1402 +++++++++++++++++++- V8Binding/v8/src/x64/ic-x64.cc | 6 +- V8Binding/v8/src/x64/macro-assembler-x64.cc | 63 +- V8Binding/v8/src/x64/stub-cache-x64.cc | 9 +- V8Binding/v8/test/cctest/cctest.status | 62 + V8Binding/v8/test/cctest/test-api.cc | 40 + V8Binding/v8/test/cctest/test-debug.cc | 5 +- V8Binding/v8/test/cctest/test-regexp.cc | 10 +- V8Binding/v8/test/message/message.status | 13 + V8Binding/v8/test/mjsunit/apply.js | 86 +- V8Binding/v8/test/mjsunit/array-reduce.js | 12 +- V8Binding/v8/test/mjsunit/big-array-literal.js | 2 +- V8Binding/v8/test/mjsunit/big-object-literal.js | 2 +- V8Binding/v8/test/mjsunit/date-parse.js | 10 +- V8Binding/v8/test/mjsunit/debug-backtrace.js | 319 +++-- .../v8/test/mjsunit/debug-clearbreakpointgroup.js | 117 ++ .../v8/test/mjsunit/debug-stepin-function-call.js | 149 +++ .../v8/test/mjsunit/global-deleted-property-ic.js | 45 + .../test/mjsunit/global-deleted-property-keyed.js | 38 + V8Binding/v8/test/mjsunit/global-ic.js | 48 + V8Binding/v8/test/mjsunit/mjsunit.status | 40 + V8Binding/v8/test/mjsunit/regress/regress-244.js | 2 +- V8Binding/v8/test/mjsunit/regress/regress-397.js | 34 + V8Binding/v8/test/mjsunit/regress/regress-399.js | 32 + V8Binding/v8/test/mjsunit/smi-ops.js | 86 +- V8Binding/v8/test/mjsunit/string-match.js | 0 V8Binding/v8/test/mjsunit/testcfg.py | 33 +- V8Binding/v8/test/mjsunit/to_number_order.js | 129 ++ .../test/mjsunit/tools/tickprocessor-test.default | 60 + .../test/mjsunit/tools/tickprocessor-test.gc-state | 21 + .../tools/tickprocessor-test.ignore-unknown | 56 + .../v8/test/mjsunit/tools/tickprocessor-test.log | 24 + .../mjsunit/tools/tickprocessor-test.separate-ic | 66 + V8Binding/v8/test/mjsunit/tools/tickprocessor.js | 268 ++++ V8Binding/v8/tools/gyp/v8.gyp | 894 +++++-------- V8Binding/v8/tools/linux-tick-processor | 3 +- V8Binding/v8/tools/oprofile/annotate | 0 V8Binding/v8/tools/oprofile/common | 0 V8Binding/v8/tools/oprofile/dump | 0 V8Binding/v8/tools/oprofile/report | 0 V8Binding/v8/tools/oprofile/reset | 0 V8Binding/v8/tools/oprofile/run | 0 V8Binding/v8/tools/oprofile/shutdown | 0 V8Binding/v8/tools/oprofile/start | 0 V8Binding/v8/tools/test.py | 16 +- V8Binding/v8/tools/tickprocessor-driver.js | 49 + V8Binding/v8/tools/tickprocessor.js | 131 +- V8Binding/v8/tools/v8.xcodeproj/project.pbxproj | 4 + V8Binding/v8/tools/visual_studio/ia32.vsprops | 2 +- V8Binding/v8/tools/windows-tick-processor.bat | 2 +- 118 files changed, 6214 insertions(+), 2925 deletions(-) mode change 100644 => 100755 V8Binding/v8/test/mjsunit/array-reduce.js create mode 100644 V8Binding/v8/test/mjsunit/debug-clearbreakpointgroup.js create mode 100644 V8Binding/v8/test/mjsunit/debug-stepin-function-call.js create mode 100644 V8Binding/v8/test/mjsunit/global-deleted-property-ic.js create mode 100644 V8Binding/v8/test/mjsunit/global-deleted-property-keyed.js create mode 100644 V8Binding/v8/test/mjsunit/global-ic.js create mode 100644 V8Binding/v8/test/mjsunit/regress/regress-397.js create mode 100644 V8Binding/v8/test/mjsunit/regress/regress-399.js mode change 100644 => 100755 V8Binding/v8/test/mjsunit/string-match.js create mode 100644 V8Binding/v8/test/mjsunit/to_number_order.js create mode 100644 V8Binding/v8/test/mjsunit/tools/tickprocessor-test.default create mode 100644 V8Binding/v8/test/mjsunit/tools/tickprocessor-test.gc-state create mode 100644 V8Binding/v8/test/mjsunit/tools/tickprocessor-test.ignore-unknown create mode 100644 V8Binding/v8/test/mjsunit/tools/tickprocessor-test.log create mode 100644 V8Binding/v8/test/mjsunit/tools/tickprocessor-test.separate-ic create mode 100644 V8Binding/v8/test/mjsunit/tools/tickprocessor.js mode change 100644 => 100755 V8Binding/v8/tools/linux-tick-processor mode change 100644 => 100755 V8Binding/v8/tools/oprofile/annotate mode change 100644 => 100755 V8Binding/v8/tools/oprofile/common mode change 100644 => 100755 V8Binding/v8/tools/oprofile/dump mode change 100644 => 100755 V8Binding/v8/tools/oprofile/report mode change 100644 => 100755 V8Binding/v8/tools/oprofile/reset mode change 100644 => 100755 V8Binding/v8/tools/oprofile/run mode change 100644 => 100755 V8Binding/v8/tools/oprofile/shutdown mode change 100644 => 100755 V8Binding/v8/tools/oprofile/start create mode 100644 V8Binding/v8/tools/tickprocessor-driver.js mode change 100755 => 100644 V8Binding/v8/tools/v8.xcodeproj/project.pbxproj mode change 100644 => 100755 V8Binding/v8/tools/windows-tick-processor.bat (limited to 'V8Binding') diff --git a/V8Binding/v8/ChangeLog b/V8Binding/v8/ChangeLog index ac364f7..83ebc02 100644 --- a/V8Binding/v8/ChangeLog +++ b/V8Binding/v8/ChangeLog @@ -1,3 +1,30 @@ +2009-07-13: Version 1.2.14 + + Added separate paged heap space for global property cells and + avoid updating the write barrier when storing into them. + + Improved peep-hole optimization on ARM platforms by not emitting + unnecessary debug information. + + Re-enabled ICs for loads and calls that skip a global object + during lookup through the prototype chain. + + Allowed access through global proxies to use ICs. + + Fixed issue 401. + + +2009-07-09: Version 1.2.13 + + Fixed issue 397, issue 398, and issue 399. + + Added support for breakpoint groups. + + Fixed bugs introduced with the new global object representation. + + Fixed a few bugs in the ARM code generator. + + 2009-07-06: Version 1.2.12 Added stack traces collection to Error objects accessible through diff --git a/V8Binding/v8/SConstruct b/V8Binding/v8/SConstruct index 0baf71b..78b050d 100644 --- a/V8Binding/v8/SConstruct +++ b/V8Binding/v8/SConstruct @@ -95,7 +95,12 @@ ANDROID_LINKFLAGS = ['-nostdlib', LIBRARY_FLAGS = { 'all': { 'CPPDEFINES': ['ENABLE_LOGGING_AND_PROFILING'], - 'CPPPATH': [join(root_dir, 'src')] + 'CPPPATH': [join(root_dir, 'src')], + 'regexp:native': { + 'arch:ia32' : { + 'CPPDEFINES': ['V8_NATIVE_REGEXP'] + } + } }, 'gcc': { 'all': { @@ -167,6 +172,7 @@ LIBRARY_FLAGS = { 'CPPDEFINES': ['V8_TARGET_ARCH_ARM'] }, 'arch:x64': { + 'CCFLAGS': ['-fno-strict-aliasing'], 'CPPDEFINES': ['V8_TARGET_ARCH_X64'] }, 'prof:oprofile': { @@ -546,6 +552,11 @@ SIMPLE_OPTIONS = { 'default': ARCH_GUESS, 'help': 'the architecture to build for (' + ARCH_GUESS + ')' }, + 'regexp': { + 'values': ['native', 'interpreted'], + 'default': 'native', + 'help': 'Whether to use native or interpreted regexp implementation' + }, 'snapshot': { 'values': ['on', 'off', 'nobuild'], 'default': 'off', @@ -677,6 +688,8 @@ def VerifyOptions(env): return False if not IsLegal(env, 'sample', ["shell", "process"]): return False + if not IsLegal(env, 'regexp', ["native", "interpreted"]): + return False if env['os'] == 'win32' and env['library'] == 'shared' and env['prof'] == 'on': Abort("Profiling on windows only supported for static library.") if env['prof'] == 'oprofile' and env['os'] != 'linux': diff --git a/V8Binding/v8/benchmarks/README.txt b/V8Binding/v8/benchmarks/README.txt index 561e88b..eb759cc 100644 --- a/V8Binding/v8/benchmarks/README.txt +++ b/V8Binding/v8/benchmarks/README.txt @@ -57,4 +57,7 @@ of the benchmark. Changes from Version 4 to Version 5 =================================== -Removed duplicate line in random seed code. +Removed duplicate line in random seed code, and changed the name of +the Object.prototype.inherits function in the DeltaBlue benchmark to +inheritsFrom to avoid name clashes when running in Chromium with +extensions enabled. diff --git a/V8Binding/v8/benchmarks/deltablue.js b/V8Binding/v8/benchmarks/deltablue.js index 253046f..7e25d2e 100644 --- a/V8Binding/v8/benchmarks/deltablue.js +++ b/V8Binding/v8/benchmarks/deltablue.js @@ -46,7 +46,7 @@ var DeltaBlue = new BenchmarkSuite('DeltaBlue', 71104, [ /* --- O b j e c t M o d e l --- */ -Object.prototype.inherits = function (shuper) { +Object.prototype.inheritsFrom = function (shuper) { function Inheriter() { } Inheriter.prototype = shuper.prototype; this.prototype = new Inheriter(); @@ -216,7 +216,7 @@ function UnaryConstraint(v, strength) { this.addConstraint(); } -UnaryConstraint.inherits(Constraint); +UnaryConstraint.inheritsFrom(Constraint); /** * Adds this constraint to the constraint graph @@ -294,7 +294,7 @@ function StayConstraint(v, str) { StayConstraint.superConstructor.call(this, v, str); } -StayConstraint.inherits(UnaryConstraint); +StayConstraint.inheritsFrom(UnaryConstraint); StayConstraint.prototype.execute = function () { // Stay constraints do nothing @@ -312,7 +312,7 @@ function EditConstraint(v, str) { EditConstraint.superConstructor.call(this, v, str); } -EditConstraint.inherits(UnaryConstraint); +EditConstraint.inheritsFrom(UnaryConstraint); /** * Edits indicate that a variable is to be changed by imperative code. @@ -346,7 +346,7 @@ function BinaryConstraint(var1, var2, strength) { this.addConstraint(); } -BinaryConstraint.inherits(Constraint); +BinaryConstraint.inheritsFrom(Constraint); /** * Decides if this constratint can be satisfied and which way it @@ -459,7 +459,7 @@ function ScaleConstraint(src, scale, offset, dest, strength) { ScaleConstraint.superConstructor.call(this, src, dest, strength); } -ScaleConstraint.inherits(BinaryConstraint); +ScaleConstraint.inheritsFrom(BinaryConstraint); /** * Adds this constraint to the constraint graph. @@ -515,7 +515,7 @@ function EqualityConstraint(var1, var2, strength) { EqualityConstraint.superConstructor.call(this, var1, var2, strength); } -EqualityConstraint.inherits(BinaryConstraint); +EqualityConstraint.inheritsFrom(BinaryConstraint); /** * Enforce this constraint. Assume that it is satisfied. diff --git a/V8Binding/v8/benchmarks/revisions.html b/V8Binding/v8/benchmarks/revisions.html index b86c876..99d7be4 100644 --- a/V8Binding/v8/benchmarks/revisions.html +++ b/V8Binding/v8/benchmarks/revisions.html @@ -22,7 +22,10 @@ the benchmark suite.

Version 5 (link)

-

Removed a duplicate line in the base random seed code. +

Removed duplicate line in random seed code, and changed the name of +the Object.prototype.inherits function in the DeltaBlue benchmark to +inheritsFrom to avoid name clashes when running in Chromium with +extensions enabled.

Version 4 (link)

diff --git a/V8Binding/v8/src/api.cc b/V8Binding/v8/src/api.cc index b9e0cec..145fa9d 100644 --- a/V8Binding/v8/src/api.cc +++ b/V8Binding/v8/src/api.cc @@ -1085,8 +1085,9 @@ Local