From 9a9edb0e8e6120b3b8a3868d0c44577111dd1857 Mon Sep 17 00:00:00 2001 From: Bert Belder Date: Wed, 24 Nov 2010 23:51:32 +0100 Subject: [PATCH] Performance-killing bug workaround for V8 on mingw When V8 on mingw generates a _compiled_ call stub for an external api callback, it fucks up the stack. It doesn't set the stack pointers properly. Could be due to subtly different calling conventions? This patch disables the simple_api_call optimization. It hurts performance. --- deps/v8/src/stub-cache.h | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/deps/v8/src/stub-cache.h b/deps/v8/src/stub-cache.h index a7829a600e..523f4aa9b2 100644 --- a/deps/v8/src/stub-cache.h +++ b/deps/v8/src/stub-cache.h @@ -762,6 +762,11 @@ class CallOptimization BASE_EMBEDDED { } bool is_simple_api_call() const { + // As of V8 2.6.8 simple api call optimization causes segfaults on MINGW + // Disable it until this gets resolved +#ifdef __MINGW32__ + return false; +#endif return is_simple_api_call_; }