Commit Graph

43 Commits

Author SHA1 Message Date
Abdulaziz Ghuloum 64aca7c80b one more fix for 64-bit jumps and calls. Some conditional jumps
required cross-code offsets which are now eliminated.
2009-12-31 16:41:13 +03:00
Abdulaziz Ghuloum 820eb7dcb9 Fixed the ``relocation error'' that happens in 64-bit mode. What
used to be a relative jump from one code object to another is now
turned into a pc-relative jump, where the jump targets are stored
somewhere at the bottom of the code that performs the jump:

old code sequence:

        call-relative (Ltarget - L0)
    L0: ...

new code sequence:

        call-pc-relative (L1 - L0)
    L0: ...
        ...
    L1: <8-byte Ltarget>
2009-12-31 03:41:22 +03:00
Abdulaziz Ghuloum 4c2b13ebe0 fixed invalid code generation of (movl k0 (disp k1 k2)) which is
invalid in X86_64.
2009-09-12 22:20:07 +03:00
Abdulaziz Ghuloum f13876d385 - removed include and include-into from (ikarus) library
- moved include and include/lexical-context to their own 
  (ikarus include) library (source only, not in boot image).
2009-05-30 08:14:09 +03:00
Abdulaziz Ghuloum f216ed5893 - fixed a few typos, disabled debugging in assembler-output, fixed
condition printing
2008-11-21 05:19:01 -05:00
Abdulaziz Ghuloum e24356eb4a scheme-script is now its own program; it does not fork and exec
ikarus, and therefore does not interfere with ikarus's command line
parsing.
2008-08-09 05:47:44 -07:00
Abdulaziz Ghuloum f144722b36 bumped the number of registers available on AMD64 by 4. 2008-07-30 07:47:22 -07:00
Abdulaziz Ghuloum 3b80d4f321 fixed a bug in quotient and div when given (least-fixnum) and -1. 2008-07-26 12:28:51 -07:00
Abdulaziz Ghuloum acc9940379 fixed gc bug in 64-bit mode along with another 64-bit bug in the
assembler when addressing using special %eax/%rax instructions.
2008-07-21 22:07:31 -07:00
Abdulaziz Ghuloum 4f48c55bfc all existing tests pass under 64-bit 2008-07-19 14:41:06 -07:00
Abdulaziz Ghuloum 01c4afa320 Major work towards the AMD64 port. Most important of which is that
continuations work, more assembly instructions are testing in 64-bit
mode, and some arithmetic operations (shift-right, etc.) have been
fixed by removing some 32-bit dependencies.
2008-07-18 01:35:13 -07:00
Abdulaziz Ghuloum 3bddca30c4 allocation overflow check sequence is a little tighter now. 2008-06-10 23:01:22 -07:00
Abdulaziz Ghuloum 191a82e007 Passing 685 tests in 64bit including handling of some foreign calls. 2008-04-09 07:04:02 -04:00
Abdulaziz Ghuloum 866b2b1c17 Now passing 682 tests in 64-bit mode. 2008-04-09 05:34:36 -04:00
Abdulaziz Ghuloum f63f85e1cc 570 tests in 64-bit mode 2008-04-09 03:05:19 -04:00
Abdulaziz Ghuloum 5eaa2ff469 fixed a couple of bugs in 64bit assembler. 2008-04-08 02:22:26 -04:00
Abdulaziz Ghuloum 42e3d53d00 I CAN HAZ CONS in 64BIT! 2008-04-07 10:20:05 -04:00
Abdulaziz Ghuloum 30aae80c5d removed all symbolicly linked files. 2008-02-14 17:45:15 -05:00
Abdulaziz Ghuloum f6e5e4d5b4 Added -m32 to CFLAGS/LDFLAGS, updated copyright dates and version no. 2008-01-29 00:34:34 -05:00
Abdulaziz Ghuloum df1cef98be - Added primop for *. 2008-01-19 16:11:00 -05:00
Abdulaziz Ghuloum 7a970db55d Fixes bug 184265: flonum? assemble bug 2008-01-19 09:47:15 -05:00
Abdulaziz Ghuloum 2ea7321e6b passing tests-1.3 in 64-bit mode. 2008-01-04 03:49:27 -05:00
Abdulaziz Ghuloum 5d2f14c523 Added a disassembler tool for 64-bit code (using macos otool64). Also,
passed more tests in 64-bit mode.
2008-01-03 23:03:22 -05:00
Abdulaziz Ghuloum 341e53a36d 64-bit fasl files can now be produced and read. 2008-01-03 02:07:17 -05:00
Abdulaziz Ghuloum 3c99e7d393 fasl-write now writes different fasl objects depending on the
architecture bitness.
2008-01-02 23:22:55 -05:00
Abdulaziz Ghuloum c15876aebe Abstracted the construction of call frames and automated the padding
process.  The compiler no longer has hardcoded null bytes inserted
into the code streams.
2008-01-02 07:01:45 -05:00
Abdulaziz Ghuloum 15ea12f915 cleanup of the C files to make all ikptr->int casts ikptr->long int 2008-01-01 04:24:36 -05:00
Abdulaziz Ghuloum 1f5cef4940 sweeping the junk in assembler continues. 2007-12-31 05:34:20 -05:00
Abdulaziz Ghuloum a8abfb6bc5 Yet more cleanup in assembler. 2007-12-31 04:00:46 -05:00
Abdulaziz Ghuloum f44b9285c7 small bug fix in assembler for code like (movl reg (disp reg reg)) 2007-12-31 03:02:12 -05:00
Abdulaziz Ghuloum e262407379 More cleanup in assembler 2007-12-31 02:42:53 -05:00
Abdulaziz Ghuloum e7017c159f made the assembler a little more robust as far as 32-bit registers
are used.
2007-12-30 20:22:13 -05:00
Abdulaziz Ghuloum 8c0563b2d3 fixes bug 173369: errors are supposed to be &assertion 2007-12-15 08:22:49 -05:00
Abdulaziz Ghuloum 3562a736c5 Fixes bug 175117: Named let violates scoping rules 2007-12-09 12:20:13 -05:00
Abdulaziz Ghuloum 171604d7fc values and call-with-values now have proper names when printed.
e.g. #<procedure values> and #<procedure call-with-values>
2007-12-05 01:33:47 -05:00
Abdulaziz Ghuloum e06b84e75d * Added (xorl imm8 mem) instruction to the assembler. 2007-11-13 23:10:49 -05:00
Abdulaziz Ghuloum 5ce6ca4efb * Added bytevector-ieee-single-native-ref and bytevector-ieee-single-native-set! 2007-11-08 22:22:24 -05:00
Abdulaziz Ghuloum 1b103a4ab8 * bytevector-ieee-double-ref/set! now work 2007-11-07 04:54:54 -05:00
Abdulaziz Ghuloum 7dbce6e888 * Added bytevector-ieee-double-ref and bytevector-ieee-double-set!
(which does not yet support big endianness)
2007-11-07 01:26:38 -05:00
Abdulaziz Ghuloum 6f576dc224 * Added license stubs to all *.ss and *.[ch] files. 2007-10-25 16:27:34 -04:00
Abdulaziz Ghuloum b640d98cbc * removed formatted errors from all source codes. 2007-10-25 14:32:26 -04:00
Abdulaziz Ghuloum 6853d2f750 * error now calls raise after constructing a proper condition object.
* old "error-handler" parameter is gone.
* new-cafe now uses with-exception-handler to trap errors.
2007-10-23 23:55:57 -04:00
Abdulaziz Ghuloum fdb664b61c renamed:
src/scheme => scheme
2007-10-17 20:07:10 -04:00