From df75153a856dd205f59643956d0f711933410848 Mon Sep 17 00:00:00 2001 From: Joel Dice Date: Tue, 30 Sep 2008 11:22:46 -0600 Subject: [PATCH] handle case of null Stack::pushEvent in CallEvent ctor --- src/compiler.cpp | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/compiler.cpp b/src/compiler.cpp index bffbf37b0c..3b5ac10435 100644 --- a/src/compiler.cpp +++ b/src/compiler.cpp @@ -1363,6 +1363,9 @@ codePromise(Context* c, int offset) return new (c->zone->allocate(sizeof(CodePromise))) CodePromise(c, offset); } +void +appendPush(Context* c, Stack* s); + class CallEvent: public Event { public: CallEvent(Context* c, Value* address, unsigned flags, @@ -1399,6 +1402,9 @@ class CallEvent: public Event { (c, 0, ~0, (static_cast(mask) << 32) | mask)); for (Stack* s = stack; s; s = s->next) { + if (s->pushEvent == 0) { + appendPush(c, s); + } s->pushEvent->active = true; addRead(c, s->value, s->size * BytesPerWord, virtualSite (c, 0, ~0, (static_cast(mask) << 32) | mask));