From b7c3b0ca645995ad2da4adb45aa80399bd78cf85 Mon Sep 17 00:00:00 2001 From: edwin Date: Wed, 22 Mar 2006 17:14:07 +0000 Subject: [PATCH] * src/vm/jit/stack.h (REQUIRE): Avoid duplication of exception throwing code. * src/vm/jit/stack.c (analyse_stack): Added label throw_stack_underflow for the REQUIRE macro. --- src/vm/jit/stack.c | 7 ++++++- src/vm/jit/stack.h | 13 +++++-------- 2 files changed, 11 insertions(+), 9 deletions(-) diff --git a/src/vm/jit/stack.c b/src/vm/jit/stack.c index 63ced1cff..ab8d73d07 100644 --- a/src/vm/jit/stack.c +++ b/src/vm/jit/stack.c @@ -30,7 +30,7 @@ Christian Thalinger Christian Ullrich - $Id: stack.c 4606 2006-03-15 04:43:25Z edwin $ + $Id: stack.c 4674 2006-03-22 17:14:07Z edwin $ */ @@ -2393,6 +2393,11 @@ methodinfo *analyse_stack(methodinfo *m, codegendata *cd, registerdata *rd) /* just return methodinfo* to signal everything was ok */ return m; + +throw_stack_underflow: + *exceptionptr = + new_verifyerror(m, "Unable to pop operand off an empty stack"); + return NULL; } diff --git a/src/vm/jit/stack.h b/src/vm/jit/stack.h index e668d29ec..3095180fc 100644 --- a/src/vm/jit/stack.h +++ b/src/vm/jit/stack.h @@ -28,7 +28,7 @@ Changes: Christian Ullrich - $Id: stack.h 4603 2006-03-15 00:06:03Z edwin $ + $Id: stack.h 4674 2006-03-22 17:14:07Z edwin $ */ @@ -78,13 +78,10 @@ #define REQUIRE(num) \ do { \ - if (stackdepth < (num)) { \ - *exceptionptr = \ - new_verifyerror(m, "Unable to pop operand off an empty stack"); \ - return NULL; \ - } \ - } while(0) - + if (stackdepth < (num)) \ + goto throw_stack_underflow; \ + } while (0) + #define REQUIRE_1 REQUIRE(1) #define REQUIRE_2 REQUIRE(2) #define REQUIRE_3 REQUIRE(3) -- 2.25.1