#endif
#endif
+#ifdef V4_USE_VALGRIND
+#include <valgrind/memcheck.h>
+#endif
+
QT_BEGIN_NAMESPACE
using namespace QV4;
jsStackBase = (Value *)jsStack->base();
jsStackTop = jsStackBase;
+#ifdef V4_USE_VALGRIND
+ VALGRIND_MAKE_MEM_UNDEFINED(jsStackBase, 2*JSStackLimit);
+#endif
+
// set up stack limits
jsStackLimit = jsStackBase + JSStackLimit/sizeof(Value);
cStackLimit = getStackLimit();
#include "qv4persistent_p.h"
#include "qv4property_p.h"
+#ifdef V4_USE_VALGRIND
+#include <valgrind/memcheck.h>
+#endif
+
QT_BEGIN_NAMESPACE
#define SAVE_JS_STACK(ctx) Value *__jsStack = ctx->engine->jsStackTop
struct Scope {
inline Scope(ExecutionContext *ctx)
: engine(ctx->d()->engine)
- #ifndef QT_NO_DEBUG
+#ifndef QT_NO_DEBUG
, size(0)
- #endif
+#endif
{
mark = engine->jsStackTop;
}
Q_ASSERT(engine->jsStackTop >= mark);
memset(mark, 0, (engine->jsStackTop - mark)*sizeof(Value));
#endif
+#ifdef V4_USE_VALGRIND
+ VALGRIND_MAKE_MEM_UNDEFINED(mark, engine->jsStackLimit - mark);
+#endif
engine->jsStackTop = mark;
}