diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-10-11 15:06:25 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-19 20:48:25 +0200 |
commit | 7dc5973bf12919d2d35230844beabe558d4faa00 (patch) | |
tree | 88d6128a911d2ec3b9a72d8e45d56fc2b250c714 /src/v8/0008-QtScript-V8-Add-new-v8-api-to-check-if-a-value-is-an.patch | |
parent | 4dc25c1f2995a5e02da47f0f6f3522af9eb6f78c (diff) |
Update V8
Change-Id: I7a9da7dbb2116a441788407d60ed10155cded941
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src/v8/0008-QtScript-V8-Add-new-v8-api-to-check-if-a-value-is-an.patch')
-rw-r--r-- | src/v8/0008-QtScript-V8-Add-new-v8-api-to-check-if-a-value-is-an.patch | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/src/v8/0008-QtScript-V8-Add-new-v8-api-to-check-if-a-value-is-an.patch b/src/v8/0008-QtScript-V8-Add-new-v8-api-to-check-if-a-value-is-an.patch new file mode 100644 index 0000000000..007f14a821 --- /dev/null +++ b/src/v8/0008-QtScript-V8-Add-new-v8-api-to-check-if-a-value-is-an.patch @@ -0,0 +1,64 @@ +From 3c304e3712ebf9f0df0b544032f0f83945d08028 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/11] 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. +--- + include/v8.h | 5 +++++ + src/api.cc | 6 ++++++ + src/heap.h | 1 + + 3 files changed, 12 insertions(+), 0 deletions(-) + +diff --git a/include/v8.h b/include/v8.h +index 229ddbd..d995e54 100644 +--- a/include/v8.h ++++ b/include/v8.h +@@ -967,6 +967,11 @@ class Value : public Data { + */ + V8EXPORT bool IsRegExp() const; + ++ /** ++ * Returns true if this value is an Error. ++ */ ++ V8EXPORT bool IsError() const; ++ + V8EXPORT Local<Boolean> ToBoolean() const; + V8EXPORT Local<Number> ToNumber() const; + V8EXPORT Local<String> ToString() const; +diff --git a/src/api.cc b/src/api.cc +index 6f6297d..c21af67 100644 +--- a/src/api.cc ++++ b/src/api.cc +@@ -2316,6 +2316,12 @@ bool Value::IsRegExp() const { + return obj->IsJSRegExp(); + } + ++bool Value::IsError() const { ++ if (IsDeadCheck(i::Isolate::Current(), "v8::Value::IsError()")) return false; ++ i::Handle<i::Object> obj = Utils::OpenHandle(this); ++ return obj->HasSpecificClassOf(HEAP->Error_symbol()); ++} ++ + + Local<String> Value::ToString() const { + i::Handle<i::Object> obj = Utils::OpenHandle(this); +diff --git a/src/heap.h b/src/heap.h +index bab4c63..ad83b70 100644 +--- a/src/heap.h ++++ b/src/heap.h +@@ -188,6 +188,7 @@ inline Heap* _inline_get_heap_(); + V(string_symbol, "string") \ + V(String_symbol, "String") \ + V(Date_symbol, "Date") \ ++ V(Error_symbol, "Error") \ + V(this_symbol, "this") \ + V(to_string_symbol, "toString") \ + V(char_at_symbol, "CharAt") \ +-- +1.7.4.4 + |