summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorAndreas Holzammer <andreas.holzammer@kdab.com>2013-02-12 12:49:11 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-03-01 13:53:39 +0100
commit009c1c2e6cdbeb285230090017691499873266c3 (patch)
treefa038248ff2e42055a7ca20a697f20b87aac3d3d
parent7bba72a901e600be7335a8903ffa4c0e08b1c99a (diff)
downloadqtjsbackend-009c1c2e6cdbeb285230090017691499873266c3.tar.gz
[V8][WINCE]Disable inline cache optimization
Disable inline cache optimization because calling convention looks different. Change-Id: I719ff4860164ec6919cc5501d71c4a2b6fab110c Reviewed-by: Johannes Oikarinen <johannes.oikarinen@digia.com> Reviewed-by: Janne Anttila <janne.anttila@digia.com> Reviewed-by: Frederik Gladhorn <frederik.gladhorn@digia.com> Reviewed-by: Peter Varga <pvarga@inf.u-szeged.hu>
-rw-r--r--src/3rdparty/v8/src/ic.cc4
-rw-r--r--src/3rdparty/v8/src/stub-cache.cc5
2 files changed, 9 insertions, 0 deletions
diff --git a/src/3rdparty/v8/src/ic.cc b/src/3rdparty/v8/src/ic.cc
index 354ed64..fe31ef1 100644
--- a/src/3rdparty/v8/src/ic.cc
+++ b/src/3rdparty/v8/src/ic.cc
@@ -989,6 +989,10 @@ void LoadIC::UpdateCaches(LookupResult* lookup,
}
break;
case CALLBACKS: {
+#ifdef _WIN32_WCE
+ // Disable optimization for wince as the calling convention looks different.
+ return;
+#endif
Handle<Object> callback(lookup->GetCallbackObject());
if (callback->IsAccessorInfo()) {
Handle<AccessorInfo> info = Handle<AccessorInfo>::cast(callback);
diff --git a/src/3rdparty/v8/src/stub-cache.cc b/src/3rdparty/v8/src/stub-cache.cc
index 3885462..3796d2d 100644
--- a/src/3rdparty/v8/src/stub-cache.cc
+++ b/src/3rdparty/v8/src/stub-cache.cc
@@ -1477,6 +1477,7 @@ Handle<Code> CallStubCompiler::CompileCustomCall(
#undef CALL_GENERATOR_CASE
}
CallOptimization optimization(function);
+#ifndef _WIN32_WCE
ASSERT(optimization.is_simple_api_call());
return CompileFastApiCall(optimization,
object,
@@ -1484,6 +1485,10 @@ Handle<Code> CallStubCompiler::CompileCustomCall(
cell,
function,
fname);
+#else
+ // Disable optimization for wince as the calling convention looks different.
+ return Handle<Code>::null();
+#endif // _WIN32_WCE
}