jingham added a comment.

Ah, right.  We're doing that so that we can make sure that an ObjC Exception 
thrown during the course of expression evaluation doesn't unwind past the frame 
we are using to call the function.

Seems like for low-level stuff like AllocateMemory we should be avoiding all 
this extra work, which you can do by calling options.SetTrapExceptions(false) 
on the ExpressionEvaluationOptions that you pass in to the thread plan in 
InferiorCallMmap in InferiorCallPOSIX.cpp.

Would you mind checking that adding that bit to InferiorCallMmap (without your 
change to avoid recursion fixes the problem as well.)  I don't mind the current 
change as well, but it would be really nice to get the ObjC runtime out of the 
picture when trying to allocate memory...


http://reviews.llvm.org/D15978



_______________________________________________
lldb-commits mailing list
lldb-commits@lists.llvm.org
http://lists.llvm.org/cgi-bin/mailman/listinfo/lldb-commits

Reply via email to