Update V8
Update V8 with fix for Issue 1853 (http://code.google.com/p/v8/issues/detail?id=1853) Change-Id: I10f652228ab1421b280b433eb2a59aeb83a7699f Reviewed-by: Kai Koehne <kai.koehne@nokia.com> Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>bb10
parent
3064c1bc8c
commit
cd44813bae
|
|
@ -1,7 +1,7 @@
|
|||
From 0a86a97f554c4aaa727da1c4481ca6368c68bf85 Mon Sep 17 00:00:00 2001
|
||||
From d97195f011cdaa8b859d759f8a34dd50c3092f30 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Tue, 4 Oct 2011 15:04:21 +1000
|
||||
Subject: [PATCH 01/12] Add hashing and comparison methods to v8::String
|
||||
Subject: [PATCH 01/13] Add hashing and comparison methods to v8::String
|
||||
|
||||
This allows us to more rapidly search for a v8::String inside a hash
|
||||
of QStrings.
|
||||
|
|
@ -303,7 +303,7 @@ index 9a87ac5..2946d02 100644
|
|||
|
||||
class SubStringAsciiSymbolKey : public HashTableKey {
|
||||
diff --git a/src/objects.h b/src/objects.h
|
||||
index f7d21802..d96e5f9 100644
|
||||
index f7d2180..d96e5f9 100644
|
||||
--- a/src/objects.h
|
||||
+++ b/src/objects.h
|
||||
@@ -6201,6 +6201,9 @@ class String: public HeapObject {
|
||||
|
|
@ -332,5 +332,5 @@ index f7d21802..d96e5f9 100644
|
|||
private:
|
||||
DISALLOW_IMPLICIT_CONSTRUCTORS(SeqString);
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 20eca1d4ce4c56b599a052d496f4660f9ca9c978 Mon Sep 17 00:00:00 2001
|
||||
From e30b202d683e36731d9674ebf75803990a33816e Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Thu, 27 Oct 2011 11:31:56 +0100
|
||||
Subject: [PATCH 02/12] Add a "fallback" mode for named property interceptors
|
||||
Subject: [PATCH 02/13] Add a "fallback" mode for named property interceptors
|
||||
|
||||
By default interceptors are called before the normal property
|
||||
resolution on objects. When an interceptor is installed as a
|
||||
|
|
@ -357,5 +357,5 @@ index 9c23c2c..0e256c1 100644
|
|||
return isolate->heap()->undefined_value();
|
||||
}
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 74974cee335e6c22ea99fd9a4bbb9c7fa7323d80 Mon Sep 17 00:00:00 2001
|
||||
From 501255df9cb6241a1f6c8d8a3361b9582fa481ef Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Tue, 4 Oct 2011 16:06:09 +1000
|
||||
Subject: [PATCH 03/12] Generalize external object resources
|
||||
Subject: [PATCH 03/13] Generalize external object resources
|
||||
|
||||
V8 was already able to manage and finalize an external string
|
||||
resource. This change generalizes that mechanism to handle a
|
||||
|
|
@ -591,5 +591,5 @@ index ed40061..c38d461 100644
|
|||
|
||||
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From ae1c497cf2235df9d73d3c5d3c2b40bcde7e534f Mon Sep 17 00:00:00 2001
|
||||
From c49c39afa016b176c933ff01e748a2eddb26e131 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Thu, 27 Oct 2011 13:34:16 +0100
|
||||
Subject: [PATCH 04/12] Introduce a QML compilation mode
|
||||
Subject: [PATCH 04/13] Introduce a QML compilation mode
|
||||
|
||||
In QML mode, there is a second global object - known as the QML
|
||||
global object. During property resolution, if a property is not
|
||||
|
|
@ -2058,7 +2058,7 @@ index 3167c4d..6503d07 100644
|
|||
|
||||
case DYNAMIC_LOOKUP:
|
||||
diff --git a/src/scopes.h b/src/scopes.h
|
||||
index a1418874..41e5f5c 100644
|
||||
index a141887..41e5f5c 100644
|
||||
--- a/src/scopes.h
|
||||
+++ b/src/scopes.h
|
||||
@@ -228,6 +228,11 @@ class Scope: public ZoneObject {
|
||||
|
|
@ -2351,5 +2351,5 @@ index f5f81b1..5caa6cf 100644
|
|||
static inline Operand StackSpaceOperand(int index) {
|
||||
#ifdef _WIN64
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From d01b0fc24542eb6128bcbd3a8a02da9659b8433e Mon Sep 17 00:00:00 2001
|
||||
From 2081f6baaab81d60564680de600b4dcf03de6cd4 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Fri, 14 Oct 2011 17:03:06 +1000
|
||||
Subject: [PATCH 05/12] Allow access to the calling script data
|
||||
Subject: [PATCH 05/13] Allow access to the calling script data
|
||||
|
||||
---
|
||||
include/v8.h | 1 +
|
||||
|
|
@ -44,5 +44,5 @@ index 2d3d97a..54df40d 100644
|
|||
v8::Local<v8::Object> Context::Global() {
|
||||
if (IsDeadCheck(i::Isolate::Current(), "v8::Context::Global()")) {
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 59b3da4073971aa725eea8f303f37948dc3bb376 Mon Sep 17 00:00:00 2001
|
||||
From d2d3c19a32e2f7a5586811bb10ea75a79a11f52f Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Thu, 27 Oct 2011 13:40:00 +0100
|
||||
Subject: [PATCH 06/12] Add custom object compare callback
|
||||
Subject: [PATCH 06/13] Add custom object compare callback
|
||||
|
||||
A global custom object comparison callback can be set with:
|
||||
V8::SetUserObjectComparisonCallbackFunction()
|
||||
|
|
@ -544,5 +544,5 @@ index f30221f..ff8337f 100644
|
|||
ASSERT(GetCondition() == equal);
|
||||
__ subq(rax, rdx);
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 519fec2ddc92193760dc2a6599f91ff4eb11563c Mon Sep 17 00:00:00 2001
|
||||
From 1ecd533461383671ea465b37f2cad84a0aad3d52 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Fri, 9 Sep 2011 14:16:12 +1000
|
||||
Subject: [PATCH 07/12] Allow a script to be flagged as "native"
|
||||
Subject: [PATCH 07/13] Allow a script to be flagged as "native"
|
||||
|
||||
Native scripts do not appear in backtraces, or in the source and
|
||||
line number when exceptions are thrown from within them. This is
|
||||
|
|
@ -42,5 +42,5 @@ index 4902e72..cabca74 100644
|
|||
}
|
||||
if (!script_name.is_null()) {
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,7 @@
|
|||
From de3e14564f163d808a3d10397a3018e6aaeb727b Mon Sep 17 00:00:00 2001
|
||||
From c7850561fcdf333a5b80a50623c7d4507757b315 Mon Sep 17 00:00:00 2001
|
||||
From: Jedrzej Nowacki <jedrzej.nowacki@nokia.com>
|
||||
Date: Tue, 7 Dec 2010 11:56:42 +0100
|
||||
Subject: [PATCH 08/12] QtScript/V8: Add new v8 api to check if a value is an
|
||||
error.
|
||||
Subject: [PATCH 08/13] QtScript/V8: Add new v8 api to check if a value is an error.
|
||||
|
||||
New function v8::Value::IsError was created.
|
||||
|
||||
|
|
@ -60,5 +59,5 @@ index 5e90964..6166cde 100644
|
|||
V(to_string_symbol, "toString") \
|
||||
V(char_at_symbol, "CharAt") \
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 7084bd94a99db246baa4f1d050a6f23cfd6adc14 Mon Sep 17 00:00:00 2001
|
||||
From 4a9995fd141e40df2493dc2ef12d91f0a946629a Mon Sep 17 00:00:00 2001
|
||||
From: Kent Hansen <kent.hansen@nokia.com>
|
||||
Date: Fri, 2 Sep 2011 12:03:09 +0200
|
||||
Subject: [PATCH 09/12] Fix deprecated Python code
|
||||
Subject: [PATCH 09/13] Fix deprecated Python code
|
||||
|
||||
Needed to make the scripts run on Python 3, which is the
|
||||
default python interpreter on some newer distros.
|
||||
|
|
@ -47,5 +47,5 @@ index 646bf14..395441b 100644
|
|||
if identifier_second_char != 0:
|
||||
new_identifier = (
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From 04779c9a6f99fc097af68cf75a27b1d6a76c3e9d Mon Sep 17 00:00:00 2001
|
||||
From 8498e4b40d8355aa51dd8f4641dd1fdd4704e7bd Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Thu, 25 Aug 2011 11:09:58 +1000
|
||||
Subject: [PATCH 10/12] Remove execute flag from v8-debug.h
|
||||
Subject: [PATCH 10/13] Remove execute flag from v8-debug.h
|
||||
|
||||
---
|
||||
0 files changed, 0 insertions(+), 0 deletions(-)
|
||||
|
|
@ -11,5 +11,5 @@ diff --git a/include/v8-debug.h b/include/v8-debug.h
|
|||
old mode 100755
|
||||
new mode 100644
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From eb7bb4628dc4480210818e371934a76ae1f7fb91 Mon Sep 17 00:00:00 2001
|
||||
From 6643bd52181d51570bb1f9806dd06ff3b66c4251 Mon Sep 17 00:00:00 2001
|
||||
From: Aaron Kennedy <aaron.kennedy@nokia.com>
|
||||
Date: Fri, 27 May 2011 13:04:15 +1000
|
||||
Subject: [PATCH 11/12] Fix warnings
|
||||
Subject: [PATCH 11/13] Fix warnings
|
||||
|
||||
---
|
||||
include/v8.h | 16 ++++++++--------
|
||||
|
|
@ -42,5 +42,5 @@ index d995e54..a7b5c8a 100644
|
|||
|
||||
} // namespace internal
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
From d28b6a024826aaa48a8b3e69c096d01c91aff2c9 Mon Sep 17 00:00:00 2001
|
||||
From f37d702159f3e606610b74fb2b56ece63d510a6e Mon Sep 17 00:00:00 2001
|
||||
From: Kai Koehne <kai.koehne@nokia.com>
|
||||
Date: Thu, 10 Nov 2011 16:00:37 +0100
|
||||
Subject: [PATCH 12/12] Add flag to avoid breakpoint relocation
|
||||
Subject: [PATCH 12/13] Add flag to avoid breakpoint relocation
|
||||
|
||||
Add a flag that prevents v8 from relocating breakpoints across
|
||||
line boundaries.
|
||||
|
|
@ -143,5 +143,5 @@ index cf723ba..7e51c34 100644
|
|||
// Test that it is possible to remove the last break point for a function
|
||||
// inside the break handling of that break point.
|
||||
--
|
||||
1.7.7.3
|
||||
1.7.4.1
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,68 @@
|
|||
From f02e75f4f2fdffcac78317dff38c6ca6e679cf5c Mon Sep 17 00:00:00 2001
|
||||
From: Aurindam Jana <aurindam.jana@nokia.com>
|
||||
Date: Tue, 13 Dec 2011 13:43:23 +0100
|
||||
Subject: [PATCH 13/13] Update ScriptBreakPoints for ScriptRegExp
|
||||
|
||||
Update breakpoints of type ScriptRegExpwhen a new script
|
||||
is compiled. Solves Issue 1853
|
||||
(http://code.google.com/p/v8/issues/detail?id=1853)
|
||||
|
||||
Reviewed-by: aaron.kennedy@nokia.com
|
||||
---
|
||||
src/debug-debugger.js | 3 ++-
|
||||
test/mjsunit/debug-setbreakpoint.js | 12 ++++++++++--
|
||||
2 files changed, 12 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/src/debug-debugger.js b/src/debug-debugger.js
|
||||
index d254ee5..6f80a8b 100644
|
||||
--- a/src/debug-debugger.js
|
||||
+++ b/src/debug-debugger.js
|
||||
@@ -477,7 +477,8 @@ ScriptBreakPoint.prototype.clear = function () {
|
||||
// break points set in this script.
|
||||
function UpdateScriptBreakPoints(script) {
|
||||
for (var i = 0; i < script_break_points.length; i++) {
|
||||
- if (script_break_points[i].type() == Debug.ScriptBreakPointType.ScriptName &&
|
||||
+ if ((script_break_points[i].type() == Debug.ScriptBreakPointType.ScriptName ||
|
||||
+ script_break_points[i].type() == Debug.ScriptBreakPointType.ScriptRegExp) &&
|
||||
script_break_points[i].matchesScript(script)) {
|
||||
script_break_points[i].set(script);
|
||||
}
|
||||
diff --git a/test/mjsunit/debug-setbreakpoint.js b/test/mjsunit/debug-setbreakpoint.js
|
||||
index 90dfcd1..03ba28e 100644
|
||||
--- a/test/mjsunit/debug-setbreakpoint.js
|
||||
+++ b/test/mjsunit/debug-setbreakpoint.js
|
||||
@@ -49,14 +49,17 @@ function safeEval(code) {
|
||||
}
|
||||
}
|
||||
|
||||
-function testArguments(dcp, arguments, success, is_script) {
|
||||
+function testArguments(dcp, arguments, success, is_script, is_script_reg_exp) {
|
||||
var request = '{' + base_request + ',"arguments":' + arguments + '}'
|
||||
var json_response = dcp.processDebugJSONRequest(request);
|
||||
var response = safeEval(json_response);
|
||||
if (success) {
|
||||
assertTrue(response.success, request + ' -> ' + json_response);
|
||||
if (is_script) {
|
||||
- assertEquals('scriptName', response.body.type, request + ' -> ' + json_response);
|
||||
+ if (is_script_reg_exp)
|
||||
+ assertEquals('scriptRegExp', response.body.type, request + ' -> ' + json_response);
|
||||
+ else
|
||||
+ assertEquals('scriptName', response.body.type, request + ' -> ' + json_response);
|
||||
} else {
|
||||
assertEquals('scriptId', response.body.type, request + ' -> ' + json_response);
|
||||
}
|
||||
@@ -108,6 +111,11 @@ function listener(event, exec_state, event_data, data) {
|
||||
testArguments(dcp, '{"type":"script","target":"test","line":1}', true, true);
|
||||
testArguments(dcp, '{"type":"script","target":"test","column":1}', true, true);
|
||||
|
||||
+ testArguments(dcp, '{"type":"scriptRegExp","target":"test"}', true, true, true);
|
||||
+ testArguments(dcp, '{"type":"scriptRegExp","target":"test"}', true, true, true);
|
||||
+ testArguments(dcp, '{"type":"scriptRegExp","target":"test","line":1}', true, true, true);
|
||||
+ testArguments(dcp, '{"type":"scriptRegExp","target":"test","column":1}', true, true, true);
|
||||
+
|
||||
testArguments(dcp, '{"type":"scriptId","target":' + f_script_id + ',"line":' + f_line + '}', true, false);
|
||||
testArguments(dcp, '{"type":"scriptId","target":' + g_script_id + ',"line":' + g_line + '}', true, false);
|
||||
testArguments(dcp, '{"type":"scriptId","target":' + h_script_id + ',"line":' + h_line + '}', true, false);
|
||||
--
|
||||
1.7.4.1
|
||||
|
||||
Loading…
Reference in New Issue