]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
fix uninitialized value use in create_value_entry();
authorAleksey Demakov <ademakov@gmail.com>
Sat, 14 Oct 2006 04:24:31 +0000 (04:24 +0000)
committerAleksey Demakov <ademakov@gmail.com>
Sat, 14 Oct 2006 04:24:31 +0000 (04:24 +0000)
fix return code in interpreter's version of _jit_create_call_return_insns().

ChangeLog
jit/jit-cfg.c
jit/jit-rules-interp.c

index df3c1affb073fc235689b6f59096460a87276b03..d2408becee76ecfac9fa40092822befc3537418f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,12 @@
+2006-10-14  Aleksey Demakov  <ademakov@gmail.com>
+
+       * jit/jit-rules-interp.c (_jit_create_call_return_insns): fix return
+       code in case of no return value or struct returned via pointer (this
+       is just like 2006-02-20 fix for x86).
+
+       * jit/jit-cfg.c (create_value_entry): an uninitialized value was
+       used (thanks Klaus for spotting).
+
 2006-10-02  Klaus Treichel  <ktreichel@web.de>
 
        * jit/jit-intrinsic.c: Fix a copy bug in jit_ulong_mul (replace - by *).
index cec465d6ccbb6c9a4777e7f82ccdbcaddaa480d5..0f2c1d7b1e22bf906dca79f078686576174af813 100644 (file)
@@ -467,7 +467,7 @@ create_value_entry(_jit_cfg_t cfg, jit_value_t value)
                }
                else
                {
-                       max_values += max_values / 2;
+                       max_values = cfg->max_values * 2;
                        values = jit_realloc(cfg->values, max_values * sizeof(struct _jit_value_entry));
                }
                if(!values)
index e38cebe7a09ae9baf0829537924a5ebfa62c384b..879ad9e3ac4b0543fd84e433b5c72280193c9ff1 100644 (file)
@@ -592,7 +592,7 @@ int _jit_create_call_return_insns
        /* Bail out now if we don't need to worry about return values */
        if(!return_value || ptr_return)
        {
-               return 0;
+               return 1;
        }
 
        /* Structure values must be flushed into the frame, and