Update V8

Change-Id: I359ec3f57a120ebd02d03c56d0944397b5407ed8
Reviewed-on: http://codereview.qt-project.org/6386
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Sanity-Review: Aaron Kennedy <aaron.kennedy@nokia.com>
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
This commit is contained in:
Aaron Kennedy 2011-10-11 14:27:48 +10:00 committed by Qt by Nokia
parent 1fb5600c5e
commit 27833629c6
17 changed files with 77 additions and 16 deletions

2
src/3rdparty/v8 vendored

@ -1 +1 @@
Subproject commit 523f03f03b1ac16d272a13389f8a5654d9ff12e6
Subproject commit 8f15248619bb3bf49473dc3ede8a4e631bd5d199

View File

@ -1,7 +1,7 @@
From 3dff2e903674d8ab5310d44281b57de36db659c9 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 23 May 2011 15:47:20 +1000
Subject: [PATCH 01/15] Add hashing and comparison methods to v8::String
Subject: [PATCH 01/16] Add hashing and comparison methods to v8::String
This allows us to more rapidly search for a v8::String inside
a hash of QStrings.

View File

@ -1,7 +1,7 @@
From 01f7bd262fb1be893fe4bdc6b98a1b43c5a0bb7d Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 23 May 2011 15:55:26 +1000
Subject: [PATCH 02/15] Add a bit field 3 to Map
Subject: [PATCH 02/16] Add a bit field 3 to Map
Bit field 3 will be used to add QML specific map flags.
---

View File

@ -1,7 +1,7 @@
From 530ded6ea634bccb96652cd3e0cf67725449ed63 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 23 May 2011 16:21:02 +1000
Subject: [PATCH 03/15] Add a "fallback" mode for named property interceptors
Subject: [PATCH 03/16] 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

View File

@ -1,7 +1,7 @@
From f9368b52060c31e9532ef26f6cca1a2cb0283f51 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 23 May 2011 16:55:35 +1000
Subject: [PATCH 04/15] Generalize external object resources
Subject: [PATCH 04/16] Generalize external object resources
V8 was already able to manage and finalize an external string
resource. This change generalizes that mechanism to handle a

View File

@ -1,7 +1,7 @@
From 60c1a26bf89d3b06bcdd8408fcee89a018120f32 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 23 May 2011 18:26:19 +1000
Subject: [PATCH 05/15] Introduce a QML compilation mode
Subject: [PATCH 05/16] 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

View File

@ -1,7 +1,7 @@
From 1209b88e96f253cdc19aa4c95e011c84597844f0 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Wed, 25 May 2011 10:36:13 +1000
Subject: [PATCH 06/15] Allow access to the calling script data
Subject: [PATCH 06/16] Allow access to the calling script data
---
include/v8.h | 1 +

View File

@ -1,7 +1,7 @@
From 2a5cf85d7fd7912e516138db03e4cda47cc2a1ab 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 07/15] Fix warnings
Subject: [PATCH 07/16] Fix warnings
---
include/v8.h | 16 ++++++++--------

View File

@ -1,7 +1,7 @@
From a7c491e6e533110a17fe9f7d47cf92a1b2263180 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Mon, 27 Jun 2011 14:57:28 +1000
Subject: [PATCH 08/15] Add custom object compare callback
Subject: [PATCH 08/16] Add custom object compare callback
A global custom object comparison callback can be set with:
V8::SetUserObjectComparisonCallbackFunction()

View File

@ -1,7 +1,7 @@
From 15ce2909579aef8c8f6b0c2c07fdebbaf0f4d611 Mon Sep 17 00:00:00 2001
From: ager@chromium.org <ager@chromium.org>
Date: Wed, 4 May 2011 13:03:08 +0000
Subject: [PATCH 09/15] Add CallAsFunction method to the Object class in the
Subject: [PATCH 09/16] Add CallAsFunction method to the Object class in the
API
Patch by Peter Varga.

View File

@ -1,7 +1,7 @@
From 3ba270e3b93d292dc53a675a21479bdb0b50bbbe Mon Sep 17 00:00:00 2001
From: ager@chromium.org <ager@chromium.org>
Date: Fri, 6 May 2011 11:07:52 +0000
Subject: [PATCH 10/15] Implement CallAsConstructor method for Object in the
Subject: [PATCH 10/16] Implement CallAsConstructor method for Object in the
API
Patch by Peter Varga.

View File

@ -1,7 +1,7 @@
From 5f3e5dd6901b54707ea4f868d8fa7317c4ab3852 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 11/15] QtScript/V8: Add new v8 api to check if a value is an
Subject: [PATCH 11/16] QtScript/V8: Add new v8 api to check if a value is an
error.
New function v8::Value::IsError was created.

View File

@ -1,7 +1,7 @@
From a338d96fe138fbffd4b45c7d13a54e068daa6e12 Mon Sep 17 00:00:00 2001
From: ager@chromium.org <ager@chromium.org@ce2b1a6d-e550-0410-aec6-3dcde31c8c00>
Date: Mon, 9 May 2011 15:24:48 +0000
Subject: [PATCH 12/15] Add IsCallable method for Object in the API
Subject: [PATCH 12/16] Add IsCallable method for Object in the API
Patch by Peter Varga.

View File

@ -1,7 +1,7 @@
From c36be227e9d7952a1952caa529c78ecdc376bd55 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 13/15] Remove execute flag from v8-debug.h
Subject: [PATCH 13/16] Remove execute flag from v8-debug.h
---
0 files changed, 0 insertions(+), 0 deletions(-)

View File

@ -1,7 +1,7 @@
From ed5cc903d70f73780e5985e7d2de33f6b8d86402 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 14/15] Fix deprecated Python code
Subject: [PATCH 14/16] Fix deprecated Python code
Needed to make the scripts run on Python 3, which is the
default python interpreter on some newer distros.

View File

@ -1,7 +1,7 @@
From 523f03f03b1ac16d272a13389f8a5654d9ff12e6 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 15/15] Allow a script to be flagged as "native"
Subject: [PATCH 15/16] 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

View File

@ -0,0 +1,61 @@
From 8f15248619bb3bf49473dc3ede8a4e631bd5d199 Mon Sep 17 00:00:00 2001
From: Aaron Kennedy <aaron.kennedy@nokia.com>
Date: Tue, 4 Oct 2011 14:22:54 +1000
Subject: [PATCH 16/16] Move external resource to the last hidden field
---
src/objects-inl.h | 10 +++++-----
1 files changed, 5 insertions(+), 5 deletions(-)
diff --git a/src/objects-inl.h b/src/objects-inl.h
index 1765441..c02e037 100644
--- a/src/objects-inl.h
+++ b/src/objects-inl.h
@@ -1398,7 +1398,7 @@ int JSObject::GetInternalFieldCount() {
int JSObject::GetInternalFieldOffset(int index) {
ASSERT(index < GetInternalFieldCount() && index >= 0);
- return GetHeaderSize() + (kPointerSize * (index + map()->has_external_resource()?1:0));
+ return GetHeaderSize() + (kPointerSize * index);
}
@@ -1407,7 +1407,7 @@ Object* JSObject::GetInternalField(int index) {
// Internal objects do follow immediately after the header, whereas in-object
// properties are at the end of the object. Therefore there is no need
// to adjust the index here.
- return READ_FIELD(this, GetHeaderSize() + (kPointerSize * (index + map()->has_external_resource()?1:0)));
+ return READ_FIELD(this, GetHeaderSize() + (kPointerSize * index));
}
@@ -1416,7 +1416,7 @@ void JSObject::SetInternalField(int index, Object* value) {
// Internal objects do follow immediately after the header, whereas in-object
// properties are at the end of the object. Therefore there is no need
// to adjust the index here.
- int offset = GetHeaderSize() + (kPointerSize * (index + map()->has_external_resource()?1:0));
+ int offset = GetHeaderSize() + (kPointerSize * index);
WRITE_FIELD(this, offset, value);
WRITE_BARRIER(this, offset);
}
@@ -1424,7 +1424,7 @@ void JSObject::SetInternalField(int index, Object* value) {
void JSObject::SetExternalResourceObject(Object *value) {
ASSERT(map()->has_external_resource());
- int offset = GetHeaderSize();
+ int offset = GetHeaderSize() + kPointerSize * GetInternalFieldCount();
WRITE_FIELD(this, offset, value);
WRITE_BARRIER(this, offset);
}
@@ -1432,7 +1432,7 @@ void JSObject::SetExternalResourceObject(Object *value) {
Object *JSObject::GetExternalResourceObject() {
if (map()->has_external_resource()) {
- return READ_FIELD(this, GetHeaderSize());
+ return READ_FIELD(this, GetHeaderSize() + kPointerSize * GetInternalFieldCount());
} else {
return GetHeap()->undefined_value();
}
--
1.7.4.4