From 310cbb5f146406216a2c11a235e7cc4482e282f1 Mon Sep 17 00:00:00 2001 From: Feng Qian Date: Tue, 18 Aug 2009 00:57:39 -0700 Subject: Update V8 to r2703. New revision has improvement of scanner. --- V8Binding/v8/ChangeLog | 28 + V8Binding/v8/LICENSE | 6 + V8Binding/v8/SConstruct | 11 +- V8Binding/v8/include/v8-debug.h | 7 +- V8Binding/v8/include/v8.h | 61 +- V8Binding/v8/src/SConscript | 44 +- V8Binding/v8/src/api.cc | 105 +- V8Binding/v8/src/arm/codegen-arm.cc | 145 +- V8Binding/v8/src/arm/codegen-arm.h | 9 +- V8Binding/v8/src/arm/jump-target-arm.cc | 336 +- V8Binding/v8/src/arm/virtual-frame-arm.cc | 126 +- V8Binding/v8/src/arm/virtual-frame-arm.h | 58 +- V8Binding/v8/src/cfg.cc | 142 +- V8Binding/v8/src/cfg.h | 140 +- V8Binding/v8/src/codegen.cc | 29 +- V8Binding/v8/src/compilation-cache.cc | 1 - V8Binding/v8/src/compiler.cc | 40 +- V8Binding/v8/src/compiler.h | 4 +- V8Binding/v8/src/d8.cc | 36 +- V8Binding/v8/src/d8.h | 2 + V8Binding/v8/src/execution.cc | 7 +- V8Binding/v8/src/factory.cc | 6 +- V8Binding/v8/src/factory.h | 3 +- V8Binding/v8/src/flag-definitions.h | 3 + V8Binding/v8/src/handles-inl.h | 2 +- V8Binding/v8/src/handles.h | 19 +- V8Binding/v8/src/heap.cc | 28 +- V8Binding/v8/src/heap.h | 6 + V8Binding/v8/src/ia32/codegen-ia32.h | 9 +- V8Binding/v8/src/ia32/cpu-ia32.cc | 13 + V8Binding/v8/src/ia32/jump-target-ia32.cc | 64 + V8Binding/v8/src/ia32/macro-assembler-ia32.cc | 4 +- .../v8/src/ia32/regexp-macro-assembler-ia32.cc | 250 +- .../v8/src/ia32/regexp-macro-assembler-ia32.h | 59 +- V8Binding/v8/src/ia32/virtual-frame-ia32.cc | 1 + V8Binding/v8/src/jsregexp.cc | 79 +- V8Binding/v8/src/jump-target.cc | 61 - V8Binding/v8/src/math.js | 2 + V8Binding/v8/src/messages.js | 143 +- V8Binding/v8/src/parser.cc | 12 +- V8Binding/v8/src/parser.h | 3 +- .../v8/src/regexp-macro-assembler-irregexp.cc | 31 - V8Binding/v8/src/regexp-macro-assembler-irregexp.h | 12 +- V8Binding/v8/src/regexp-macro-assembler-tracer.cc | 58 - V8Binding/v8/src/regexp-macro-assembler-tracer.h | 14 - V8Binding/v8/src/regexp-macro-assembler.cc | 190 +- V8Binding/v8/src/regexp-macro-assembler.h | 102 +- V8Binding/v8/src/regexp-stack.h | 4 +- V8Binding/v8/src/runtime.cc | 41 +- V8Binding/v8/src/runtime.h | 2 + V8Binding/v8/src/scanner.cc | 97 +- V8Binding/v8/src/scanner.h | 57 +- V8Binding/v8/src/spaces.cc | 107 +- V8Binding/v8/src/spaces.h | 37 +- V8Binding/v8/src/third_party/valgrind/valgrind.h | 3924 ++++++++++++++++++++ V8Binding/v8/src/uri.js | 16 +- V8Binding/v8/src/v8.cc | 9 + V8Binding/v8/src/v8.h | 3 + V8Binding/v8/src/v8natives.js | 7 + V8Binding/v8/src/version.cc | 2 +- V8Binding/v8/src/x64/assembler-x64.cc | 119 +- V8Binding/v8/src/x64/assembler-x64.h | 87 +- V8Binding/v8/src/x64/codegen-x64.cc | 242 +- V8Binding/v8/src/x64/codegen-x64.h | 9 +- V8Binding/v8/src/x64/disasm-x64.cc | 3 +- V8Binding/v8/src/x64/jump-target-x64.cc | 64 + V8Binding/v8/src/x64/regexp-macro-assembler-x64.cc | 1274 +++++++ V8Binding/v8/src/x64/regexp-macro-assembler-x64.h | 268 ++ V8Binding/v8/src/x64/virtual-frame-x64.cc | 1 + V8Binding/v8/test/cctest/cctest.status | 1 + V8Binding/v8/test/cctest/test-api.cc | 28 + V8Binding/v8/test/cctest/test-debug.cc | 17 + V8Binding/v8/test/cctest/test-regexp.cc | 443 +-- V8Binding/v8/test/mjsunit/json.js | 10 + V8Binding/v8/test/mjsunit/mjsunit.js | 8 +- V8Binding/v8/test/mjsunit/stack-traces.js | 63 +- V8Binding/v8/test/mjsunit/tools/logreader.js | 16 + V8Binding/v8/test/mjsunit/tools/tickprocessor.js | 72 + V8Binding/v8/test/mozilla/mozilla.status | 18 +- V8Binding/v8/tools/gyp/v8.gyp | 18 +- V8Binding/v8/tools/logreader.js | 7 +- V8Binding/v8/tools/mac-nm | 4 +- V8Binding/v8/tools/tickprocessor.js | 33 +- WEBKIT_MERGE_REVISION | 2 +- 84 files changed, 7873 insertions(+), 1751 deletions(-) create mode 100644 V8Binding/v8/src/third_party/valgrind/valgrind.h diff --git a/V8Binding/v8/ChangeLog b/V8Binding/v8/ChangeLog index 03b96f1..4bfd8d5 100644 --- a/V8Binding/v8/ChangeLog +++ b/V8Binding/v8/ChangeLog @@ -1,3 +1,31 @@ +2009-08-13: Version 1.3.4 + + Added a readline() command to the d8 shell. + + Fixed bug in json parsing. + + Added idle notification to the API and reduced memory on idle + notifications. + + +2009-08-12: Version 1.3.3 + + Fix issue 417: incorrect %t placeholder expansion. + + Add .gitignore file similar to Chromium's one. + + Fix SConstruct file to build with new logging code for Android. + + API: added function to find instance of template in prototype + chain. Inlined Object::IsInstanceOf. + + Land change to notify valgrind when we modify code on x86. + + Add api call to determine whether a string can be externalized. + + Add a write() command to d8. + + 2009-08-05: Version 1.3.2 Started new compiler infrastructure for two-pass compilation using a diff --git a/V8Binding/v8/LICENSE b/V8Binding/v8/LICENSE index 7301556..553cf47 100644 --- a/V8Binding/v8/LICENSE +++ b/V8Binding/v8/LICENSE @@ -20,6 +20,12 @@ are: copyrighted by Douglas Crockford and Baruch Even and released under an MIT license. + - Valgrind client API header, located at third_party/valgrind/valgrind.h + This is release under the BSD license. + + - Valgrind client API header, located at third_party/valgrind/valgrind.h + This is release under the BSD license. + These libraries have their own licenses; we recommend you read them, as their terms may differ from the terms below. diff --git a/V8Binding/v8/SConstruct b/V8Binding/v8/SConstruct index c981ef9..efd34db 100644 --- a/V8Binding/v8/SConstruct +++ b/V8Binding/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/V8Binding/v8/include/v8-debug.h b/V8Binding/v8/include/v8-debug.h index 345d331..3c5c923 100644 --- a/V8Binding/v8/include/v8-debug.h +++ b/V8Binding/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/V8Binding/v8/include/v8.h b/V8Binding/v8/include/v8.h index 6815ec9..b931976 100644 --- a/V8Binding/v8/include/v8.h +++ b/V8Binding/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