]> git.unchartedbackwaters.co.uk Git - francis/libjit.git/commitdiff
small fix
authorAleksey Demakov <ademakov@gmail.com>
Sat, 7 Feb 2009 16:28:57 +0000 (16:28 +0000)
committerAleksey Demakov <ademakov@gmail.com>
Sat, 7 Feb 2009 16:28:57 +0000 (16:28 +0000)
ChangeLog
jit/jit-apply-arm.h

index d123f3b780386d99ce029862114efd4669d4d67b..4b69177b9195c1fb9d80115d9744e80e35968ec2 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,7 +1,8 @@
-2009-02-07  avd  <avd@buzz.wiraqocha.local>
+2009-02-07  Aleksey Demakov  <ademakov@gmail.com>
 
        * gen-sel-parser.y, gen-sel-scanner.l: remove obsolete files.
        * tools/Makefile.am: remove gen-sel target.
+       * jit/jit-apply-arm.h (jit_builtin_apply): fix bug and optimize.
 
 2009-02-06  Klaus Treichel  <ktreichel@web.de>
 
        * include/jit/jit-arch-arm.h: add ARM arch header.
        * jit/Makefile.am, jit/jit-rules-arm.ins, jit/jit-rules-arm.sel:
        replace obsolete .sel file for ARM with .ins file.
+       * jit/jit-apply-arm.h: define jit_indirector_size, jit_should_pad,
+       override jit_builtin_apply.
+       * jit/jit-apply-arm.c (_jit_create_indirector, _jit_pad_buffer): add
+       functions.
 
 2009-01-30  Peter Fristedt  <fristedt@gmail.com>
             Kirill Kononenko  <Kirill.Kononenko@gmail.com>
index 2ccaa98273462d14654b2cabe5dd53ab19d0892c..d166739e95fc6f9788772cc771a4847175aee09c 100644 (file)
 #define        jit_builtin_apply(func,args,size,return_float,return_buf)       \
 do {                                                                   \
        register void *sp asm("sp");                                    \
-       while(((unsigned int)sp) % JIT_SP_ALIGN_PUBLIC != 0)            \
-       {                                                               \
-               sp=(void *)(((unsigned int) sp)+1);                     \
-       }                                                               \
+       sp = (void *) (((unsigned) sp) & ~(JIT_SP_ALIGN_PUBLIC - 1));   \
        (return_buf) = __builtin_apply                                  \
        ((void (*)())(func), (args), (size));                           \
 } while (0)