From bcf163da27676e26108ec430a392baee84f2831c Mon Sep 17 00:00:00 2001 From: Ryan Dahl Date: Fri, 19 Feb 2010 10:29:41 -0800 Subject: [PATCH] Upgrade V8 to 2.1.1 --- deps/v8/AUTHORS | 2 + deps/v8/ChangeLog | 14 + deps/v8/SConstruct | 35 +- deps/v8/include/v8.h | 122 +- deps/v8/samples/lineprocessor.cc | 2 +- deps/v8/src/SConscript | 20 + deps/v8/src/accessors.cc | 37 +- deps/v8/src/api.cc | 164 +- deps/v8/src/arm/assembler-arm.cc | 191 +- deps/v8/src/arm/assembler-arm.h | 9 +- deps/v8/src/arm/assembler-thumb2-inl.h | 30 +- deps/v8/src/arm/assembler-thumb2.cc | 227 ++- deps/v8/src/arm/assembler-thumb2.h | 25 +- deps/v8/src/arm/builtins-arm.cc | 143 +- deps/v8/src/arm/codegen-arm.cc | 902 +++++++-- deps/v8/src/arm/codegen-arm.h | 100 +- deps/v8/src/arm/debug-arm.cc | 10 +- deps/v8/src/arm/disasm-arm.cc | 25 +- deps/v8/src/arm/fast-codegen-arm.cc | 188 +- deps/v8/src/arm/full-codegen-arm.cc | 182 +- deps/v8/src/arm/ic-arm.cc | 214 ++- deps/v8/src/arm/macro-assembler-arm.cc | 264 ++- deps/v8/src/arm/macro-assembler-arm.h | 127 +- deps/v8/src/arm/simulator-arm.cc | 29 +- deps/v8/src/arm/stub-cache-arm.cc | 467 ++--- deps/v8/src/arm/virtual-frame-arm.cc | 12 +- deps/v8/src/arm/virtual-frame-arm.h | 9 +- deps/v8/src/array.js | 5 +- deps/v8/src/assembler.cc | 10 + deps/v8/src/assembler.h | 16 +- deps/v8/src/ast.h | 39 +- deps/v8/src/bootstrapper.cc | 177 +- deps/v8/src/bootstrapper.h | 3 - deps/v8/src/builtins.cc | 499 ++++- deps/v8/src/builtins.h | 10 +- deps/v8/src/checks.h | 4 +- deps/v8/src/code-stubs.cc | 16 +- deps/v8/src/code-stubs.h | 5 +- deps/v8/src/codegen-inl.h | 41 +- deps/v8/src/codegen.cc | 75 +- deps/v8/src/codegen.h | 41 +- deps/v8/src/compiler.cc | 145 +- deps/v8/src/compiler.h | 129 +- deps/v8/src/contexts.h | 1 - deps/v8/src/d8-readline.cc | 4 +- deps/v8/src/data-flow.cc | 318 +++- deps/v8/src/data-flow.h | 62 +- deps/v8/src/debug-delay.js | 8 +- deps/v8/src/debug.cc | 14 +- deps/v8/src/disassembler.cc | 2 +- deps/v8/src/execution.cc | 2 +- deps/v8/src/fast-codegen.cc | 225 ++- deps/v8/src/fast-codegen.h | 94 +- deps/v8/src/flag-definitions.h | 4 +- deps/v8/src/frame-element.cc | 4 - deps/v8/src/frame-element.h | 43 +- deps/v8/src/frames-inl.h | 2 + deps/v8/src/frames.cc | 7 +- deps/v8/src/full-codegen.cc | 105 +- deps/v8/src/full-codegen.h | 23 +- deps/v8/src/globals.h | 5 + deps/v8/src/handles.cc | 47 +- deps/v8/src/handles.h | 2 + deps/v8/src/heap.cc | 19 +- deps/v8/src/heap.h | 2 - deps/v8/src/ia32/assembler-ia32.cc | 59 +- deps/v8/src/ia32/assembler-ia32.h | 5 +- deps/v8/src/ia32/builtins-ia32.cc | 135 +- deps/v8/src/ia32/codegen-ia32.cc | 1644 +++++++++++----- deps/v8/src/ia32/codegen-ia32.h | 161 +- deps/v8/src/ia32/debug-ia32.cc | 3 +- deps/v8/src/ia32/disasm-ia32.cc | 1 - deps/v8/src/ia32/fast-codegen-ia32.cc | 195 +- deps/v8/src/ia32/full-codegen-ia32.cc | 194 +- deps/v8/src/ia32/ic-ia32.cc | 462 +++-- deps/v8/src/ia32/macro-assembler-ia32.cc | 149 +- deps/v8/src/ia32/macro-assembler-ia32.h | 57 +- deps/v8/src/ia32/stub-cache-ia32.cc | 634 +++++-- deps/v8/src/ia32/virtual-frame-ia32.cc | 107 +- deps/v8/src/ia32/virtual-frame-ia32.h | 23 +- deps/v8/src/ic.cc | 94 +- deps/v8/src/ic.h | 32 +- deps/v8/src/json-delay.js | 36 +- deps/v8/src/jump-target-inl.h | 3 + deps/v8/src/jump-target.cc | 50 +- deps/v8/src/liveedit.cc | 87 + deps/v8/src/liveedit.h | 78 + deps/v8/src/log-utils.cc | 9 - deps/v8/src/log-utils.h | 3 - deps/v8/src/log.cc | 98 +- deps/v8/src/log.h | 17 +- deps/v8/src/macro-assembler.h | 9 + deps/v8/src/math.js | 2 +- deps/v8/src/messages.js | 2 + deps/v8/src/mips/assembler-mips-inl.h | 215 +++ deps/v8/src/mips/assembler-mips.cc | 1208 ++++++++++++ deps/v8/src/mips/assembler-mips.h | 663 +++++++ deps/v8/src/mips/builtins-mips.cc | 109 ++ deps/v8/src/mips/codegen-mips-inl.h | 56 + deps/v8/src/mips/codegen-mips.cc | 501 +++++ deps/v8/src/mips/codegen-mips.h | 311 ++++ deps/v8/src/mips/constants-mips.cc | 323 ++++ deps/v8/src/mips/constants-mips.h | 525 ++++++ deps/v8/src/mips/cpu-mips.cc | 69 + deps/v8/src/mips/debug-mips.cc | 112 ++ deps/v8/src/mips/disasm-mips.cc | 784 ++++++++ deps/v8/src/mips/fast-codegen-mips.cc | 56 + deps/v8/src/mips/frames-mips.cc | 100 + deps/v8/src/mips/frames-mips.h | 164 ++ deps/v8/src/mips/full-codegen-mips.cc | 268 +++ deps/v8/src/mips/ic-mips.cc | 187 ++ deps/v8/src/mips/jump-target-mips.cc | 87 + deps/v8/src/mips/macro-assembler-mips.cc | 895 +++++++++ deps/v8/src/mips/macro-assembler-mips.h | 381 ++++ .../v8/src/mips/register-allocator-mips-inl.h | 137 ++ deps/v8/src/mips/register-allocator-mips.cc | 60 + deps/v8/src/mips/register-allocator-mips.h | 46 + deps/v8/src/mips/simulator-mips.cc | 1648 +++++++++++++++++ deps/v8/src/mips/simulator-mips.h | 311 ++++ deps/v8/src/mips/stub-cache-mips.cc | 384 ++++ deps/v8/src/mips/virtual-frame-mips.cc | 240 +++ deps/v8/src/mips/virtual-frame-mips.h | 548 ++++++ deps/v8/src/mirror-delay.js | 26 +- deps/v8/src/number-info.h | 72 + deps/v8/src/objects-debug.cc | 2 + deps/v8/src/objects-inl.h | 7 + deps/v8/src/objects.cc | 227 ++- deps/v8/src/objects.h | 11 +- deps/v8/src/parser.cc | 3 +- deps/v8/src/platform-linux.cc | 17 +- deps/v8/src/property.cc | 2 +- deps/v8/src/property.h | 27 +- deps/v8/src/register-allocator-inl.h | 35 + deps/v8/src/register-allocator.cc | 23 +- deps/v8/src/register-allocator.h | 37 +- deps/v8/src/runtime.cc | 184 +- deps/v8/src/runtime.h | 9 +- deps/v8/src/runtime.js | 63 +- deps/v8/src/simulator.h | 2 + deps/v8/src/string.js | 18 +- deps/v8/src/stub-cache.cc | 20 +- deps/v8/src/stub-cache.h | 32 +- deps/v8/src/top.cc | 7 +- deps/v8/src/top.h | 1 + deps/v8/src/utils.cc | 37 - deps/v8/src/utils.h | 42 - deps/v8/src/v8-counters.h | 134 +- deps/v8/src/v8.cc | 5 +- deps/v8/src/v8natives.js | 156 +- deps/v8/src/version.cc | 4 +- deps/v8/src/virtual-frame.cc | 46 +- deps/v8/src/virtual-frame.h | 2 + deps/v8/src/x64/assembler-x64.cc | 130 +- deps/v8/src/x64/assembler-x64.h | 17 +- deps/v8/src/x64/builtins-x64.cc | 145 +- deps/v8/src/x64/codegen-x64.cc | 502 +++-- deps/v8/src/x64/codegen-x64.h | 67 +- deps/v8/src/x64/disasm-x64.cc | 95 +- deps/v8/src/x64/fast-codegen-x64.cc | 196 +- deps/v8/src/x64/full-codegen-x64.cc | 148 +- deps/v8/src/x64/ic-x64.cc | 233 ++- deps/v8/src/x64/macro-assembler-x64.cc | 144 +- deps/v8/src/x64/macro-assembler-x64.h | 44 +- deps/v8/src/x64/stub-cache-x64.cc | 218 ++- deps/v8/src/x64/virtual-frame-x64.cc | 87 +- deps/v8/src/x64/virtual-frame-x64.h | 30 +- deps/v8/test/cctest/SConscript | 6 +- deps/v8/test/cctest/cctest.status | 20 + deps/v8/test/cctest/test-api.cc | 894 +++++++++ deps/v8/test/cctest/test-assembler-mips.cc | 257 +++ deps/v8/test/cctest/test-compiler.cc | 27 +- deps/v8/test/cctest/test-debug.cc | 50 +- deps/v8/test/cctest/test-log.cc | 324 ++-- deps/v8/test/cctest/test-regexp.cc | 2 + deps/v8/test/cctest/test-utils.cc | 105 -- deps/v8/test/es5conform/es5conform.status | 80 +- deps/v8/test/message/message.status | 5 + .../mjsunit/array-functions-prototype-misc.js | 314 ++++ deps/v8/test/mjsunit/array-shift.js | 71 + deps/v8/test/mjsunit/array-slice.js | 162 ++ deps/v8/test/mjsunit/array-splice.js | 535 +++--- deps/v8/test/mjsunit/array-unshift.js | 132 ++ deps/v8/test/mjsunit/bugs/618.js | 86 + deps/v8/test/mjsunit/codegen-coverage.js | 92 +- deps/v8/test/mjsunit/compiler/assignment.js | 264 +++ .../test/mjsunit/compiler/simple-bailouts.js | 127 ++ .../test/mjsunit/compiler/simple-binary-op.js | 40 + .../mjsunit/compiler/simple-global-access.js | 53 + .../mjsunit/compiler/this-property-refs.js | 64 + deps/v8/test/mjsunit/debug-compile-event.js | 6 + deps/v8/test/mjsunit/div-mod.js | 16 +- deps/v8/test/mjsunit/fuzz-natives.js | 19 +- deps/v8/test/mjsunit/json.js | 32 +- deps/v8/test/mjsunit/mjsunit.status | 4 + .../test/mjsunit/object-define-properties.js | 56 + .../v8/test/mjsunit/object-define-property.js | 499 +++++ .../mjsunit/object-get-own-property-names.js | 2 + deps/v8/test/mjsunit/regress/regress-603.js | 49 + deps/v8/test/mjsunit/regress/regress-612.js | 44 + .../setter-on-constructor-prototype.js | 111 ++ deps/v8/test/mjsunit/substr.js | 78 +- deps/v8/test/mjsunit/tools/logreader.js | 16 - deps/v8/test/mjsunit/tools/tickprocessor.js | 4 +- deps/v8/test/mjsunit/typeof.js | 2 +- deps/v8/test/sputnik/sputnik.status | 5 + deps/v8/tools/gyp/v8.gyp | 3 + deps/v8/tools/linux-tick-processor | 11 +- deps/v8/tools/logreader.js | 45 +- deps/v8/tools/tickprocessor.js | 13 + deps/v8/tools/visual_studio/v8_base.vcproj | 12 + .../v8/tools/visual_studio/v8_base_arm.vcproj | 12 + .../v8/tools/visual_studio/v8_base_x64.vcproj | 12 + deps/v8/tools/windows-tick-processor.bat | 26 +- 213 files changed, 23731 insertions(+), 4858 deletions(-) create mode 100644 deps/v8/src/liveedit.cc create mode 100644 deps/v8/src/liveedit.h create mode 100644 deps/v8/src/mips/assembler-mips-inl.h create mode 100644 deps/v8/src/mips/assembler-mips.cc create mode 100644 deps/v8/src/mips/assembler-mips.h create mode 100644 deps/v8/src/mips/builtins-mips.cc create mode 100644 deps/v8/src/mips/codegen-mips-inl.h create mode 100644 deps/v8/src/mips/codegen-mips.cc create mode 100644 deps/v8/src/mips/codegen-mips.h create mode 100644 deps/v8/src/mips/constants-mips.cc create mode 100644 deps/v8/src/mips/constants-mips.h create mode 100644 deps/v8/src/mips/cpu-mips.cc create mode 100644 deps/v8/src/mips/debug-mips.cc create mode 100644 deps/v8/src/mips/disasm-mips.cc create mode 100644 deps/v8/src/mips/fast-codegen-mips.cc create mode 100644 deps/v8/src/mips/frames-mips.cc create mode 100644 deps/v8/src/mips/frames-mips.h create mode 100644 deps/v8/src/mips/full-codegen-mips.cc create mode 100644 deps/v8/src/mips/ic-mips.cc create mode 100644 deps/v8/src/mips/jump-target-mips.cc create mode 100644 deps/v8/src/mips/macro-assembler-mips.cc create mode 100644 deps/v8/src/mips/macro-assembler-mips.h create mode 100644 deps/v8/src/mips/register-allocator-mips-inl.h create mode 100644 deps/v8/src/mips/register-allocator-mips.cc create mode 100644 deps/v8/src/mips/register-allocator-mips.h create mode 100644 deps/v8/src/mips/simulator-mips.cc create mode 100644 deps/v8/src/mips/simulator-mips.h create mode 100644 deps/v8/src/mips/stub-cache-mips.cc create mode 100644 deps/v8/src/mips/virtual-frame-mips.cc create mode 100644 deps/v8/src/mips/virtual-frame-mips.h create mode 100644 deps/v8/src/number-info.h create mode 100644 deps/v8/test/cctest/test-assembler-mips.cc create mode 100644 deps/v8/test/mjsunit/array-functions-prototype-misc.js create mode 100644 deps/v8/test/mjsunit/array-shift.js create mode 100644 deps/v8/test/mjsunit/array-slice.js create mode 100644 deps/v8/test/mjsunit/array-unshift.js create mode 100644 deps/v8/test/mjsunit/bugs/618.js create mode 100644 deps/v8/test/mjsunit/compiler/assignment.js create mode 100644 deps/v8/test/mjsunit/compiler/simple-bailouts.js create mode 100644 deps/v8/test/mjsunit/compiler/simple-binary-op.js create mode 100644 deps/v8/test/mjsunit/compiler/simple-global-access.js create mode 100644 deps/v8/test/mjsunit/compiler/this-property-refs.js create mode 100644 deps/v8/test/mjsunit/object-define-properties.js create mode 100644 deps/v8/test/mjsunit/object-define-property.js create mode 100644 deps/v8/test/mjsunit/regress/regress-603.js create mode 100644 deps/v8/test/mjsunit/regress/regress-612.js create mode 100644 deps/v8/test/mjsunit/setter-on-constructor-prototype.js mode change 100644 => 100755 deps/v8/test/mjsunit/substr.js diff --git a/deps/v8/AUTHORS b/deps/v8/AUTHORS index 5d712fc271..8b0db5c376 100644 --- a/deps/v8/AUTHORS +++ b/deps/v8/AUTHORS @@ -4,6 +4,7 @@ # Name/Organization Google Inc. +Sigma Designs Inc. Alexander Botero-Lowry Alexandre Vassalotti @@ -22,3 +23,4 @@ Rene Rebe Ryan Dahl Patrick Gansterer Subrato K De +Dineel D Sule diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 29ecccd7d8..8d4cd22339 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,17 @@ +2010-02-19: Version 2.1.1 + + [ES5] Implemented Object.defineProperty. + + Improved profiler support. + + Added SetPrototype method in the public V8 API. + + Added GetScriptOrigin and GetScriptLineNumber methods to Function + objects in the API. + + Performance improvements on all platforms. + + 2010-02-03: Version 2.1.0 Values are now always wrapped in objects when used as a receiver. diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct index 98fc22fba1..5483663fd6 100644 --- a/deps/v8/SConstruct +++ b/deps/v8/SConstruct @@ -191,6 +191,17 @@ LIBRARY_FLAGS = { 'armvariant:arm': { 'CPPDEFINES': ['V8_ARM_VARIANT_ARM'] }, + 'arch:mips': { + 'CPPDEFINES': ['V8_TARGET_ARCH_MIPS'], + 'simulator:none': { + 'CCFLAGS': ['-EL', '-mips32r2', '-Wa,-mips32r2', '-fno-inline'], + 'LDFLAGS': ['-EL'] + } + }, + 'simulator:mips': { + 'CCFLAGS': ['-m32'], + 'LINKFLAGS': ['-m32'] + }, 'arch:x64': { 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], 'CCFLAGS': ['-m64'], @@ -292,6 +303,9 @@ V8_EXTRA_FLAGS = { # used by the arm simulator. 'WARNINGFLAGS': ['/wd4996'] }, + 'arch:mips': { + 'CPPDEFINES': ['V8_TARGET_ARCH_MIPS'], + }, 'disassembler:on': { 'CPPDEFINES': ['ENABLE_DISASSEMBLER'] } @@ -457,10 +471,22 @@ SAMPLE_FLAGS = { 'CCFLAGS': ['-m64'], 'LINKFLAGS': ['-m64'] }, + 'arch:mips': { + 'CPPDEFINES': ['V8_TARGET_ARCH_MIPS'], + 'simulator:none': { + 'CCFLAGS': ['-EL', '-mips32r2', '-Wa,-mips32r2', '-fno-inline'], + 'LINKFLAGS': ['-EL'], + 'LDFLAGS': ['-EL'] + } + }, 'simulator:arm': { 'CCFLAGS': ['-m32'], 'LINKFLAGS': ['-m32'] }, + 'simulator:mips': { + 'CCFLAGS': ['-m32'], + 'LINKFLAGS': ['-m32'] + }, 'mode:release': { 'CCFLAGS': ['-O2'] }, @@ -601,7 +627,7 @@ SIMPLE_OPTIONS = { 'help': 'the os to build for (' + OS_GUESS + ')' }, 'arch': { - 'values':['arm', 'ia32', 'x64'], + 'values':['arm', 'ia32', 'x64', 'mips'], 'default': ARCH_GUESS, 'help': 'the architecture to build for (' + ARCH_GUESS + ')' }, @@ -651,7 +677,7 @@ SIMPLE_OPTIONS = { 'help': 'use Microsoft Visual C++ link-time code generation' }, 'simulator': { - 'values': ['arm', 'none'], + 'values': ['arm', 'mips', 'none'], 'default': 'none', 'help': 'build with simulator' }, @@ -871,6 +897,11 @@ def PostprocessOptions(options): options['armvariant'] = 'arm' if (options['armvariant'] != 'none' and options['arch'] != 'arm'): options['armvariant'] = 'none' + if options['arch'] == 'mips': + if ('regexp' in ARGUMENTS) and options['regexp'] == 'native': + # Print a warning if native regexp is specified for mips + print "Warning: forcing regexp to interpreted for mips" + options['regexp'] = 'interpreted' def ParseEnvOverrides(arg, imports): diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index 6125286e80..13f8191703 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -534,51 +534,76 @@ class V8EXPORT ScriptOrigin { class V8EXPORT Script { public: - /** - * Compiles the specified script. The ScriptOrigin* and ScriptData* - * parameters are owned by the caller of Script::Compile. No - * references to these objects are kept after compilation finishes. - * - * The script object returned is context independent; when run it - * will use the currently entered context. - */ - static Local