[armedbear-ticket] [armedbear] #41: Compilation of single-/double-float arithmetic to immediate byte code

#41: Compilation of single-/double-float arithmetic to immediate byte code -------------------------+-------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: new Priority: major | Milestone: Component: compiler | Version: Keywords: | -------------------------+-------------------------------------------------- Currently, the following code " (lambda (x) (declare (double-float x)) (+ 3.0e0 (* 12.0e0 x))) " disassembles to a call to a LispObject function for + and one for *. However, this code could be more efficient if only 1 new object would be required. This can be achieved by unboxing X, then doing the math in Java byte code and boxing the result before it's returned. -- Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/41> armedbear <http://common-lisp.net/project/armedbear> armedbear

#41: Compilation of single-/double-float arithmetic to immediate byte code --------------------------+------------------------------------------------- Reporter: ehuelsmann | Owner: ehuelsmann Type: enhancement | Status: closed Priority: major | Milestone: Component: compiler | Version: Resolution: fixed | Keywords: --------------------------+------------------------------------------------- Changes (by ehuelsmann): * status: new => closed * resolution: => fixed Comment: The example above has been realised, hence, closing this issue - further more, all intermediate results which don't get stored into registers won't be boxed now. However, local variables of float types don't get stored unboxed yet. Opening a new issue for it. -- Ticket URL: <http://127.0.0.1:8000/armedbear/ticket/41#comment:1> armedbear <http://common-lisp.net/project/armedbear> armedbear
participants (1)
-
armedbear