]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
_jit_gen_start_block: set the address of the exception handler for
authorRhys Weatherley <rweather@southern-storm.com.au>
Mon, 24 May 2004 05:53:55 +0000 (05:53 +0000)
committerRhys Weatherley <rweather@southern-storm.com.au>
Mon, 24 May 2004 05:53:55 +0000 (05:53 +0000)
interpreted code.

ChangeLog
jit/jit-rules-interp.c

index bb5dc29ad5b6ad658e9178e3ecca6b8d25391fbe..ed4832964435dc9451a7a093a54b7974671c47c1 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -9,6 +9,9 @@
        rewrite the exception region routines to make them easier
        to use from CLI and JVM style systems.
 
+       * jit/jit-rules-interp.c (_jit_gen_start_block): set the address
+       of the exception handler for interpreted code.
+
 2004-05-22  Rhys Weatherley  <rweather@southern-storm.com.au>
 
        * jit/jit-block.c (_jit_block_peephole_branch): don't allow
index 2b0bebcc5258891c62cfcce24da0e666f1a0d471..7d089e70683da6388953aa558d4fbf04e71d047c 100644 (file)
@@ -1647,6 +1647,14 @@ void _jit_gen_start_block(jit_gencode_t gen, jit_block_t block)
                fixup = next;
        }
        block->fixup_list = 0;
+
+       /* If this is the exception catcher block, then we need to update
+          the exception cookie for the function to point to here */
+       if(block->label == block->func->builder->catcher_label &&
+          block->func->has_try)
+       {
+               _jit_cache_set_cookie(&(gen->posn), block->address);
+       }
 }
 
 /*@