profile/ivi/qtjsbackend.git
12 years ago[V8] Add flag to avoid breakpoint relocation
Kai Koehne [Thu, 10 Nov 2011 15:00:37 +0000 (16:00 +0100)]
[V8] Add flag to avoid breakpoint relocation

Add a flag that prevents v8 from relocating breakpoints across
line boundaries.

Change-Id: Ia3a1449f6465b6a2645fdecac0679410b58eb45f

12 years ago[V8] Fix warnings
Aaron Kennedy [Fri, 27 May 2011 03:04:15 +0000 (13:04 +1000)]
[V8] Fix warnings

Change-Id: I3b2b68dade1c9b7130c6f352f57b53b84c1cdbb9

12 years ago[V8] Remove execute flag from v8-debug.h
Aaron Kennedy [Thu, 25 Aug 2011 01:09:58 +0000 (11:09 +1000)]
[V8] Remove execute flag from v8-debug.h

Change-Id: Ie78724fa20a73733053cbdf0195f4d5822019851

12 years ago[V8] Fix deprecated Python code
Kent Hansen [Fri, 2 Sep 2011 10:03:09 +0000 (12:03 +0200)]
[V8] Fix deprecated Python code

Needed to make the scripts run on Python 3, which is the
default python interpreter on some newer distros.

Patch from http://code.google.com/p/v8/issues/detail?id=1391

Change-Id: I6a7c7efa2bc51800b81efc45b0c7335747d887a7

12 years ago[V8] QtScript/V8: Add new v8 api to check if a value is an error.
Jedrzej Nowacki [Tue, 7 Dec 2010 10:56:42 +0000 (11:56 +0100)]
[V8] QtScript/V8: Add new v8 api to check if a value is an error.

New function v8::Value::IsError was created.

This API is experimental and added only for the purposes of our
research.

Change-Id: I16374083eae684d34dd73e46a41e565a4cd236d4

12 years ago[V8] Allow a script to be flagged as "native"
Aaron Kennedy [Fri, 9 Sep 2011 04:16:12 +0000 (14:16 +1000)]
[V8] 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
useful to be able to write code in JavaScript instead of C++ and
still have it appear sensibly to the user.

Change-Id: Ib022e74b3b912260d990faa2b2b81a32fa1d8a07

12 years ago[V8] Add custom object compare callback
Aaron Kennedy [Thu, 27 Oct 2011 12:40:00 +0000 (13:40 +0100)]
[V8] Add custom object compare callback

A global custom object comparison callback can be set with:
    V8::SetUserObjectComparisonCallbackFunction()
When two JSObjects are compared (== or !=), if either one has
the MarkAsUseUserObjectComparison() bit set, the custom comparison
callback is invoked to do the actual comparison.

This is useful when you have "value" objects that you want to
compare as equal, even though they are actually different JS object
instances.

Change-Id: Ic7512e8342c071793393e5ad3fcb6fb241f7cc80

12 years ago[V8] Allow access to the calling script data
Aaron Kennedy [Fri, 14 Oct 2011 07:03:06 +0000 (17:03 +1000)]
[V8] Allow access to the calling script data

Change-Id: Iae8b5697d4ad73d7934ee50879859394c66c80da

12 years ago[V8] Introduce a QML compilation mode
Aaron Kennedy [Thu, 27 Oct 2011 12:34:16 +0000 (13:34 +0100)]
[V8] 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
present on the JS global object, it is resolved on the QML global
object.

This global object behavior is only enabled if a script is being
compiled in QML mode.  The object to use as the QML global object
is passed as a parameter to the Script::Run() method.  Any function
closures etc. created during the run will retain a reference to this
object, so different objects can be passed in different script
runs.

Change-Id: I4950562d455074578c372d8e0e3089887b06e0a1

12 years ago[V8] Generalize external object resources
Aaron Kennedy [Tue, 4 Oct 2011 06:06:09 +0000 (16:06 +1000)]
[V8] Generalize external object resources

V8 was already able to manage and finalize an external string
resource.  This change generalizes that mechanism to handle a
single generic external resource - a v8::Object::ExternalResource
derived instance - on normal JSObject's.

This is useful for mapping C++ objects to JS objects where the
C++ object's memory is effectively owned by the JS Object, and
thus needs to destroyed when the JS Object is garbage collected.
The V8 mailing list suggests using a weak persistent handle for
this purpose, but that seems to incur a fairly massive performance
penalty for short lived objects as weak persistent handle callbacks
are not called until the object has been promoted into the old
object space.

Change-Id: Ia21a181927a2e68d33a623bbe47e0f1a4404ec8e

12 years ago[V8] Add a "fallback" mode for named property interceptors
Aaron Kennedy [Thu, 27 Oct 2011 10:31:56 +0000 (11:31 +0100)]
[V8] 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
"fallback" interceptor, it is only called if the object doesn't
already have the property.

In the case of a global object having an fallback interceptor,
the interceptor is not invoked at all for var or function
declarations.

Change-Id: I9228c114b2d2f3a9386617b53f7d8ac86371159d

12 years ago[V8] Add hashing and comparison methods to v8::String
Aaron Kennedy [Tue, 4 Oct 2011 05:04:21 +0000 (15:04 +1000)]
[V8] Add hashing and comparison methods to v8::String

This allows us to more rapidly search for a v8::String inside a hash
of QStrings.

Change-Id: I0a8bfb1aa34f00d987862a7bfe94c822a73d8c54

12 years agoImported v8 version 3.7.3 from https://github.com/v8/v8.git
Simon Hausmann [Thu, 5 Jan 2012 09:12:14 +0000 (10:12 +0100)]
Imported v8 version 3.7.3 from https://github.com/v8/v8.git

Change-Id: I152648081e46f599c2bb88eaaf67034fa5daac3a

12 years agoDisable snapshots until we have support for host builds in modules
Simon Hausmann [Thu, 5 Jan 2012 08:58:19 +0000 (09:58 +0100)]
Disable snapshots until we have support for host builds in modules

Change-Id: I7d16ac00c5255d548b68e7b77d451bd4dde12b25

12 years agoCreated QtJSBackend module.
Simon Hausmann [Thu, 5 Jan 2012 08:38:07 +0000 (09:38 +0100)]
Created QtJSBackend module.

Imported src/v8, tools and tests from qtbase (1fdfc2abfe1fa26b86028934d4853432e25b4655)
and added the necessary build system files to build it as a top-level
Qt module.

Change-Id: I0b784165157bfb031059f1528c1b3b2828284f6f