[PATCH 1/4] jit: make clear_mimic_stack() work on stack instead of basic block

2009-09-04 Thread Tomek Grabiec

Signed-off-by: Tomek Grabiec 
---
 include/jit/basic-block.h |2 +-
 jit/basic-block.c |6 +++---
 jit/exception-bc.c|2 +-
 jit/invoke-bc.c   |4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/include/jit/basic-block.h b/include/jit/basic-block.h
index d5452a4..b3e3cc1 100644
--- a/include/jit/basic-block.h
+++ b/include/jit/basic-block.h
@@ -88,7 +88,7 @@ unsigned char *bb_native_ptr(struct basic_block *bb);
 void resolution_block_init(struct resolution_block *block);
 bool branch_needs_resolution_block(struct basic_block *from, int idx);
 int bb_lookup_successor_index(struct basic_block *from, struct basic_block 
*to);
-void clear_mimic_stack(struct basic_block *bb);
+void clear_mimic_stack(struct stack *);
 
 #define for_each_basic_block(bb, bb_list) list_for_each_entry(bb, bb_list, 
bb_list_node)
 #define for_each_basic_block_reverse(bb, bb_list) 
list_for_each_entry_reverse(bb, bb_list, bb_list_node)
diff --git a/jit/basic-block.c b/jit/basic-block.c
index e19ee7e..401377c 100644
--- a/jit/basic-block.c
+++ b/jit/basic-block.c
@@ -235,12 +235,12 @@ bool branch_needs_resolution_block(struct basic_block 
*from, int idx)
return !list_is_empty(&from->resolution_blocks[idx].insns);
 }
 
-void clear_mimic_stack(struct basic_block *bb)
+void clear_mimic_stack(struct stack *stack)
 {
struct expression *expr;
 
-   while (!stack_is_empty(bb->mimic_stack)) {
-   expr = stack_pop(bb->mimic_stack);
+   while (!stack_is_empty(stack)) {
+   expr = stack_pop(stack);
expr_put(expr);
}
 }
diff --git a/jit/exception-bc.c b/jit/exception-bc.c
index 94de121..c76772f 100644
--- a/jit/exception-bc.c
+++ b/jit/exception-bc.c
@@ -61,7 +61,7 @@ int convert_athrow(struct parse_context *ctx)
 * reference is not transferred to exception handlers in
 * BC2IR layer.
 */
-   clear_mimic_stack(ctx->bb);
+   clear_mimic_stack(ctx->bb->mimic_stack);
 
convert_statement(ctx, stmt);
 
diff --git a/jit/invoke-bc.c b/jit/invoke-bc.c
index cac01a9..b0a993a 100644
--- a/jit/invoke-bc.c
+++ b/jit/invoke-bc.c
@@ -35,7 +35,7 @@ int convert_xreturn(struct parse_context *ctx)
expr = stack_pop(ctx->bb->mimic_stack);
return_stmt->return_value = &expr->node;
convert_statement(ctx, return_stmt);
-   clear_mimic_stack(ctx->bb);
+   clear_mimic_stack(ctx->bb->mimic_stack);
return 0;
 }
 
@@ -48,7 +48,7 @@ int convert_return(struct parse_context *ctx)
return_stmt->return_value = NULL;
 
convert_statement(ctx, return_stmt);
-   clear_mimic_stack(ctx->bb);
+   clear_mimic_stack(ctx->bb->mimic_stack);
return 0;
 }
 
-- 
1.6.3.3


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel


[PATCH 1/4] jit: make clear_mimic_stack() work on stack instead of basic block

2009-09-03 Thread Tomek Grabiec

Signed-off-by: Tomek Grabiec 
---
 include/jit/basic-block.h |2 +-
 jit/basic-block.c |6 +++---
 jit/exception-bc.c|2 +-
 jit/invoke-bc.c   |4 ++--
 4 files changed, 7 insertions(+), 7 deletions(-)

diff --git a/include/jit/basic-block.h b/include/jit/basic-block.h
index d5452a4..b3e3cc1 100644
--- a/include/jit/basic-block.h
+++ b/include/jit/basic-block.h
@@ -88,7 +88,7 @@ unsigned char *bb_native_ptr(struct basic_block *bb);
 void resolution_block_init(struct resolution_block *block);
 bool branch_needs_resolution_block(struct basic_block *from, int idx);
 int bb_lookup_successor_index(struct basic_block *from, struct basic_block 
*to);
-void clear_mimic_stack(struct basic_block *bb);
+void clear_mimic_stack(struct stack *);
 
 #define for_each_basic_block(bb, bb_list) list_for_each_entry(bb, bb_list, 
bb_list_node)
 #define for_each_basic_block_reverse(bb, bb_list) 
list_for_each_entry_reverse(bb, bb_list, bb_list_node)
diff --git a/jit/basic-block.c b/jit/basic-block.c
index e19ee7e..401377c 100644
--- a/jit/basic-block.c
+++ b/jit/basic-block.c
@@ -235,12 +235,12 @@ bool branch_needs_resolution_block(struct basic_block 
*from, int idx)
return !list_is_empty(&from->resolution_blocks[idx].insns);
 }
 
-void clear_mimic_stack(struct basic_block *bb)
+void clear_mimic_stack(struct stack *stack)
 {
struct expression *expr;
 
-   while (!stack_is_empty(bb->mimic_stack)) {
-   expr = stack_pop(bb->mimic_stack);
+   while (!stack_is_empty(stack)) {
+   expr = stack_pop(stack);
expr_put(expr);
}
 }
diff --git a/jit/exception-bc.c b/jit/exception-bc.c
index 94de121..c76772f 100644
--- a/jit/exception-bc.c
+++ b/jit/exception-bc.c
@@ -61,7 +61,7 @@ int convert_athrow(struct parse_context *ctx)
 * reference is not transferred to exception handlers in
 * BC2IR layer.
 */
-   clear_mimic_stack(ctx->bb);
+   clear_mimic_stack(ctx->bb->mimic_stack);
 
convert_statement(ctx, stmt);
 
diff --git a/jit/invoke-bc.c b/jit/invoke-bc.c
index cac01a9..b0a993a 100644
--- a/jit/invoke-bc.c
+++ b/jit/invoke-bc.c
@@ -35,7 +35,7 @@ int convert_xreturn(struct parse_context *ctx)
expr = stack_pop(ctx->bb->mimic_stack);
return_stmt->return_value = &expr->node;
convert_statement(ctx, return_stmt);
-   clear_mimic_stack(ctx->bb);
+   clear_mimic_stack(ctx->bb->mimic_stack);
return 0;
 }
 
@@ -48,7 +48,7 @@ int convert_return(struct parse_context *ctx)
return_stmt->return_value = NULL;
 
convert_statement(ctx, return_stmt);
-   clear_mimic_stack(ctx->bb);
+   clear_mimic_stack(ctx->bb->mimic_stack);
return 0;
 }
 
-- 
1.6.3.3


--
Let Crystal Reports handle the reporting - Free Crystal Reports 2008 30-Day 
trial. Simplify your report design, integration and deployment - and focus on 
what you do best, core application coding. Discover what's new with 
Crystal Reports now.  http://p.sf.net/sfu/bobj-july
___
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel