From 0cec74d03dc6a1735e731fe06056a1731e14c0df Mon Sep 17 00:00:00 2001 From: Ryan Date: Wed, 19 Aug 2009 16:37:15 +0200 Subject: Upgrade v8 to 1.3.5 --- deps/v8/ChangeLog | 27 + deps/v8/SConstruct | 11 +- deps/v8/include/v8-debug.h | 7 +- deps/v8/include/v8.h | 42 +- deps/v8/src/SConscript | 44 +- deps/v8/src/api.cc | 88 +- deps/v8/src/arm/assembler-arm.h | 5 +- deps/v8/src/arm/builtins-arm.cc | 2 +- deps/v8/src/arm/codegen-arm.cc | 9 +- deps/v8/src/arm/codegen-arm.h | 9 +- deps/v8/src/arm/macro-assembler-arm.cc | 2 +- deps/v8/src/assembler.h | 3 + deps/v8/src/ast.h | 20 + deps/v8/src/builtins.cc | 6 +- deps/v8/src/codegen.cc | 33 +- deps/v8/src/compilation-cache.cc | 1 - deps/v8/src/compiler.cc | 9 +- deps/v8/src/debug.cc | 10 +- deps/v8/src/debug.h | 4 + deps/v8/src/execution.cc | 7 +- deps/v8/src/execution.h | 5 + deps/v8/src/factory.cc | 6 +- deps/v8/src/factory.h | 3 +- deps/v8/src/handles-inl.h | 2 +- deps/v8/src/handles.h | 19 +- deps/v8/src/heap.cc | 61 +- deps/v8/src/heap.h | 4 + deps/v8/src/ia32/assembler-ia32.h | 5 +- deps/v8/src/ia32/builtins-ia32.cc | 9 +- deps/v8/src/ia32/codegen-ia32.cc | 16 +- deps/v8/src/ia32/codegen-ia32.h | 19 +- deps/v8/src/ia32/debug-ia32.cc | 4 +- deps/v8/src/ia32/ic-ia32.cc | 4 +- deps/v8/src/ia32/macro-assembler-ia32.cc | 4 +- deps/v8/src/ia32/regexp-macro-assembler-ia32.cc | 254 +--- deps/v8/src/ia32/regexp-macro-assembler-ia32.h | 64 +- deps/v8/src/ic-inl.h | 2 +- deps/v8/src/ic.cc | 2 +- deps/v8/src/ic.h | 2 +- deps/v8/src/jsregexp.cc | 79 +- deps/v8/src/math.js | 2 + deps/v8/src/objects-debug.cc | 13 +- deps/v8/src/objects-inl.h | 34 +- deps/v8/src/objects.cc | 44 + deps/v8/src/objects.h | 52 +- deps/v8/src/parser.cc | 283 ++++- deps/v8/src/parser.h | 3 +- deps/v8/src/platform-win32.cc | 4 + deps/v8/src/regexp-macro-assembler-irregexp.cc | 31 - deps/v8/src/regexp-macro-assembler-irregexp.h | 12 +- deps/v8/src/regexp-macro-assembler-tracer.cc | 58 - deps/v8/src/regexp-macro-assembler-tracer.h | 14 - deps/v8/src/regexp-macro-assembler.cc | 190 ++- deps/v8/src/regexp-macro-assembler.h | 102 +- deps/v8/src/regexp-stack.h | 4 +- deps/v8/src/runtime.cc | 28 +- deps/v8/src/runtime.h | 2 + deps/v8/src/scanner.cc | 97 +- deps/v8/src/scanner.h | 57 +- deps/v8/src/scopes.cc | 23 +- deps/v8/src/scopes.h | 7 +- deps/v8/src/spaces.cc | 73 +- deps/v8/src/spaces.h | 20 +- deps/v8/src/v8-counters.h | 2 + deps/v8/src/v8natives.js | 7 + deps/v8/src/version.cc | 2 +- deps/v8/src/x64/assembler-x64-inl.h | 24 +- deps/v8/src/x64/assembler-x64.cc | 136 ++- deps/v8/src/x64/assembler-x64.h | 96 +- deps/v8/src/x64/builtins-x64.cc | 22 +- deps/v8/src/x64/cfg-x64.cc | 4 +- deps/v8/src/x64/codegen-x64.cc | 44 +- deps/v8/src/x64/codegen-x64.h | 21 +- deps/v8/src/x64/debug-x64.cc | 150 ++- deps/v8/src/x64/ic-x64.cc | 4 +- deps/v8/src/x64/macro-assembler-x64.cc | 17 +- deps/v8/src/x64/regexp-macro-assembler-x64.cc | 1274 ++++++++++++++++++++ deps/v8/src/x64/regexp-macro-assembler-x64.h | 268 ++++ deps/v8/test/cctest/cctest.status | 58 - deps/v8/test/cctest/test-api.cc | 28 + deps/v8/test/cctest/test-debug.cc | 25 +- deps/v8/test/cctest/test-decls.cc | 5 +- deps/v8/test/cctest/test-heap.cc | 12 +- deps/v8/test/cctest/test-regexp.cc | 443 +++---- deps/v8/test/message/message.status | 13 - deps/v8/test/mjsunit/div-mod.js | 9 +- deps/v8/test/mjsunit/mjsunit.js | 8 +- deps/v8/test/mjsunit/mjsunit.status | 30 - deps/v8/test/mjsunit/simple-constructor.js | 78 ++ deps/v8/test/mjsunit/stack-traces.js | 63 +- deps/v8/test/mjsunit/tools/logreader.js | 16 + deps/v8/test/mjsunit/tools/tickprocessor.js | 72 ++ deps/v8/test/mozilla/mozilla.status | 12 +- deps/v8/tools/gyp/v8.gyp | 18 +- deps/v8/tools/logreader.js | 7 +- deps/v8/tools/mac-nm | 4 +- deps/v8/tools/tickprocessor.js | 33 +- deps/v8/tools/visual_studio/common.vsprops | 2 +- deps/v8/tools/visual_studio/d8_x64.vcproj | 199 +++ deps/v8/tools/visual_studio/ia32.vsprops | 2 +- deps/v8/tools/visual_studio/v8_base_x64.vcproj | 963 +++++++++++++++ deps/v8/tools/visual_studio/v8_cctest_x64.vcproj | 251 ++++ .../tools/visual_studio/v8_mksnapshot_x64.vcproj | 151 +++ .../visual_studio/v8_process_sample_x64.vcproj | 151 +++ .../tools/visual_studio/v8_shell_sample_x64.vcproj | 151 +++ .../tools/visual_studio/v8_snapshot_cc_x64.vcproj | 92 ++ deps/v8/tools/visual_studio/v8_snapshot_x64.vcproj | 142 +++ deps/v8/tools/visual_studio/v8_x64.sln | 101 ++ deps/v8/tools/visual_studio/v8_x64.vcproj | 223 ++++ deps/v8/tools/visual_studio/x64.vsprops | 11 + 110 files changed, 6193 insertions(+), 1307 deletions(-) create mode 100755 deps/v8/test/mjsunit/simple-constructor.js create mode 100644 deps/v8/tools/visual_studio/d8_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_base_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_cctest_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_mksnapshot_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_process_sample_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_shell_sample_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_snapshot_cc_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_snapshot_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/v8_x64.sln create mode 100644 deps/v8/tools/visual_studio/v8_x64.vcproj create mode 100644 deps/v8/tools/visual_studio/x64.vsprops (limited to 'deps') diff --git a/deps/v8/ChangeLog b/deps/v8/ChangeLog index 4bfd8d5ca9..c59661d366 100644 --- a/deps/v8/ChangeLog +++ b/deps/v8/ChangeLog @@ -1,3 +1,30 @@ +2009-08-19: Version 1.3.5 + + Optimize initialization of some arrays in the builtins. + + Fix mac-nm script to support filenames with spaces. + + Support for using the V8 profiler when V8 is embedded in a Windows DLL. + + Changed typeof RegExp from 'object' to 'function' for compatibility. + Fixed bug where regexps were not callable across contexts. + + Added context independent script compilation to the API. + + Added API call to get the stack trace for an exception. + + Added API for getting object mirrors. + + Make sure that SSE3 instructions are used whenever possible even when + running off a snapshot generated without using SSE3 instructions. + + Tweaked the handling of the initial size and growth policy of the heap. + + Added native code generation for RegExp to 64-bit version. + + Added JavaScript debugger support to 64-bit version. + + 2009-08-13: Version 1.3.4 Added a readline() command to the d8 shell. diff --git a/deps/v8/SConstruct b/deps/v8/SConstruct index c981ef9139..efd34dbade 100644 --- a/deps/v8/SConstruct +++ b/deps/v8/SConstruct @@ -101,6 +101,9 @@ LIBRARY_FLAGS = { 'regexp:native': { 'arch:ia32' : { 'CPPDEFINES': ['V8_NATIVE_REGEXP'] + }, + 'arch:x64' : { + 'CPPDEFINES': ['V8_NATIVE_REGEXP'] } } }, @@ -166,7 +169,7 @@ LIBRARY_FLAGS = { }, 'arch:x64': { 'CPPDEFINES': ['V8_TARGET_ARCH_X64'], - 'CCFLAGS': ['-fno-strict-aliasing', '-m64'], + 'CCFLAGS': ['-m64'], 'LINKFLAGS': ['-m64'], }, 'prof:oprofile': { @@ -716,7 +719,11 @@ class BuildContext(object): result = [] result += source.get('all', []) for (name, value) in self.options.iteritems(): - result += source.get(name + ':' + value, []) + source_value = source.get(name + ':' + value, []) + if type(source_value) == dict: + result += self.GetRelevantSources(source_value) + else: + result += source_value return sorted(result) def AppendFlags(self, options, added): diff --git a/deps/v8/include/v8-debug.h b/deps/v8/include/v8-debug.h index 345d331a12..3c5c923b3d 100644 --- a/deps/v8/include/v8-debug.h +++ b/deps/v8/include/v8-debug.h @@ -228,9 +228,14 @@ class EXPORT Debug { * } * \endcode */ - static Handle Call(v8::Handle fun, + static Local Call(v8::Handle fun, Handle data = Handle()); + /** + * Returns a mirror object for the given object. + */ + static Local GetMirror(v8::Handle obj); + /** * Enable the V8 builtin debug agent. The debugger agent will listen on the * supplied TCP/IP port for remote debugger connection. diff --git a/deps/v8/include/v8.h b/deps/v8/include/v8.h index d8de00ceca..a0cc4ea8b0 100644 --- a/deps/v8/include/v8.h +++ b/deps/v8/include/v8.h @@ -513,10 +513,36 @@ 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