1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-15 02:00:22 +02:00
Commit graph

460 commits

Author SHA1 Message Date
Andy Wingo
a20146777d Add comr/negr tests 2019-03-26 09:58:33 +01:00
Andy Wingo
7393651653 Add lsh/rsh tests 2019-03-26 09:49:16 +01:00
Andy Wingo
6a6da4a8a5 Add bitops tests 2019-03-26 09:33:40 +01:00
Andy Wingo
0127664fb3 Add remr tests 2019-03-26 09:17:49 +01:00
Andy Wingo
8e0102564a Add more div tests 2019-03-26 09:10:19 +01:00
Andy Wingo
b371e913ff Tests for some div operations 2019-03-25 21:11:44 +01:00
Andy Wingo
56d8f8d6f0 Add more tests 2019-03-25 21:02:24 +01:00
Andy Wingo
823387114a Add new tests 2019-03-25 20:38:23 +01:00
Andy Wingo
94a58a80d2 Add note about current status 2019-03-25 15:39:45 +01:00
Andy Wingo
02ce8952ef Flesh out README 2019-03-25 15:36:12 +01:00
Andy Wingo
f0cecc45d4 Convert tests to jit_load_args 2019-03-25 15:24:40 +01:00
Andy Wingo
df0a5d738f Better loading of args to registers; add tests 2019-03-25 15:08:05 +01:00
Andy Wingo
021f31f1dc Add "addi" test 2019-03-25 12:31:51 +01:00
Andy Wingo
bad7e34c83 Implementation of new design
Documentation to come, as tests get added and things settle down.
2019-03-25 12:21:23 +01:00
Andy Wingo
0d81c5c337 Beginnings of port of x86 to new design 2018-11-04 12:18:51 +01:00
Andy Wingo
c51c93708a Make _rvs array static-const 2018-11-04 12:18:38 +01:00
Andy Wingo
9bc0158238 Inline private.h into jit.c 2018-11-04 10:49:08 +01:00
Andy Wingo
447fccfed6 Remove needless PUBLIC/HIDDEN definitions 2018-10-31 22:05:09 +01:00
Andy Wingo
017740cb52 Really finish stdint conversion 2018-10-31 21:54:19 +01:00
Andy Wingo
9e70bdab38 Update gitignore 2018-10-31 21:49:41 +01:00
Andy Wingo
a0714ec410 Finish conversion to stdint types 2018-10-31 21:49:10 +01:00
Andy Wingo
47970773bc "extern"-related cleanup, and further implementation 2018-10-31 21:45:16 +01:00
Andy Wingo
0d78447d85 Trim unneded bits from jit.c 2018-10-31 19:33:26 +01:00
Andy Wingo
e81b64d2fc Update call/receive machinery
Update calls and receives to take their arguments all at once, for more
efficient shuffling.
2018-10-31 11:34:23 +01:00
Andy Wingo
17a38ffd9c Add endian.h 2018-10-30 13:54:48 +01:00
Andy Wingo
f3f71941ac Replace jit_int32_t, etc with stdint types 2018-10-30 13:48:57 +01:00
Andy Wingo
d567faf657 Create beginning of stripped-down lightning interface
This file is the beginning of a lightened lightning.
2018-10-30 13:36:09 +01:00
Andy Wingo
90ebba864a Remove unneeded bits of lightning 2018-10-30 12:32:26 +01:00
Andy Wingo
9c1b01fba5 Simplify file names 2018-10-30 12:29:18 +01:00
Andy Wingo
846e7bc443 Remove -sz.c files
The new form of this library will not need them.
2018-10-30 12:21:45 +01:00
Andy Wingo
48993156f6 Rename lightning.c to jit.c 2018-10-30 12:20:05 +01:00
Andy Wingo
796ec6c16d Rename include to jit.h, move all files to jit/
This change is in anticipation of making this lightning fork into an
include-only library.
2018-10-30 12:16:35 +01:00
Andy Wingo
a5263b6618 Remove autotools 2018-10-30 11:48:23 +01:00
Andy Wingo
8215433144 Remove bits of .gitignore no longer needed 2018-10-30 11:47:57 +01:00
Andy Wingo
beac56d7ec Remove TODO 2018-10-30 11:47:49 +01:00
Andy Wingo
4ca2f6ef2a Archive lightning ChangeLog 2018-10-30 11:42:08 +01:00
Andy Wingo
59064a1949 Move lightning.texi up to root, and remove Makefile.am 2018-10-30 11:35:53 +01:00
Andy Wingo
414f530c1d Inline body.texi and version.texi into lightning.texi 2018-10-30 11:35:01 +01:00
Andy Wingo
423d048b25 Remove example .c files from documentation 2018-10-30 11:33:58 +01:00
Andy Wingo
d90a545a58 Strip "get-jit-size" feature from lightning.
* libguile/lightning/Makefile.am:
* libguile/lightning/configure.ac:
* libguile/lightning/size.c: Remove devel-only "get-jit-size" feature.
2018-10-30 11:22:35 +01:00
Andy Wingo
549dc50cfd Update .gitignore 2018-10-30 11:16:01 +01:00
Andy Wingo
3c76115aec Update version.texi 2018-10-30 10:48:00 +01:00
Paulo Andrade
94a188844d Correct typo and values in jit_sparc-sz.c 2018-04-25 16:02:52 -03:00
Paulo Andrade
d2ff737812 HPPA: Correct wrong regarg_p check
If argument registers are in incremental order in the global _rvs
vector, the check if a register argument is reversed.
  Adapted from a regression found in sparc 64.
2018-04-20 15:01:44 -03:00
Paulo Andrade
2cea99361b Build and pass all tests on 32 and 64 bit sparc
* include/lightning/jit_private.h: Add new register classes to
	flag float registers and double only registers, required for sparc64
	where only low 32 bit fpr registers can be used for single precision
	operations.
	Add new 128 bit jit_regset_t type for sparc64 register set.

	* include/lightning/jit_sparc.h, lib/jit_sparc-cpu.c, lib/jit_sparc-fpu.c,
	lib/jit_sparc-sz.c, lib/jit_sparc.c: Update for 64 bits sparc.

	* lib/lightning.c: Update for new jit_regset_t required for sparc64.
2018-04-20 10:37:37 -03:00
Paulo Andrade
ed5589ce59 Build and pass all test cases on Alpha Linux
* check/lightning.c, include/lightning.h: Add the new jit_va_push
	interface. That should be called when passing a va_list to a C
	function. This is required because on Alpha a va_list is passed
	by value, and lightning does not know about data types, so, cannot
	understand it is pushing a va_list as argument.

	* lib/jit_names.c, lib/lightning.c: Minor changes for the new
	jit_code_va_push.

	* check/cva_list.c: Update only test case using jit_va_push, to
	pass a va_list to a C function.

	doc/body.texi: Better documentation of the varargs interface.

	* jit_alpha.c, jit_alpha-cpu.c: Update to properly push a
	C va_list and correctly calculate varargs offset.

	* lib/jit_aarch64-sz.c, lib/jit_aarch64.c, lib/jit_alpha-sz.c,
	lib/jit_arm-sz.c, lib/jit_arm.c, lib/jit_hppa-sz.c, lib/jit_hppa.c,
	lib/jit_ia64-sz.c, lib/jit_ia64.c, lib/jit_mips-sz.c, lib/jit_mips.c,
	lib/jit_ppc-sz.c, lib/jit_ppc.c, lib/jit_s390-sz.c, lib/jit_s390.c,
	lib/jit_sparc-sz.c, lib/jit_sparc.c, lib/jit_x86-sz.c, lib/jit_x86.c:
	Update for the new jit_va_push interface.
2018-02-26 09:48:50 -03:00
Paulo Andrade
b64b82ca51 Always set t12 to address of called function
* lib/jit_alpha-cpu.c: Always set t12 to the address of the
	current function, to properly work on all systems. Previously
	the shortcut did only work on Tru64. For Linux and glibc the
	change is required.
2018-02-22 13:17:28 -03:00
Paulo Andrade
2cf092efe4 Correct logic error with jit_live in jit_retr
* lib/jit_aarch64.c, lib/jit_alpha.c, lib/jit_arm.c,
	lib/jit_mips.c, lib/jit_ppc.c, lib/jit_sparc.c, lib/jit_x86.c:
	Correct wrong logic in usage of jit_live in jit_retr. The
	problem is that if a temporary is required during epilog,
	the return register might be allocated, so, jit_live must always
	be used.
2018-02-22 13:05:04 -03:00
pcpa
59f32e85c3 Add extra argument to jit_update to prevent recursion on branches
* lib/lightning.c: Avoid deep recursions when computing live
	register ranges.
2018-01-31 17:09:29 -05:00
pcpa
68dc475474 Correct issues with 32 bit big endian mips abis
* lib/jit_mips-cpu.c: Correct frame size and varargs
	initialization for the n32 abi.
	* lib/jit_mips.c, lib/jit_mips-fpu.c: Correct 32 bit abis
	in big-endian.
2018-01-31 08:52:27 -05:00