1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-21 03:00:19 +02:00
guile/test-suite/tests
Andy Wingo af95414f1d Various RTL VM and calling convention tweaks
* libguile/instructions.c (FOR_EACH_INSTRUCTION_WORD_TYPE): Allow for
  five-word instructions, and for new instruction word types.

* libguile/vm-engine.c (RETURN_ONE_VALUE): Instead of returning the
  value in the fixed part of the call frame, return it in the same place
  multiple-value returns go: from slot 1.
  (BR_ARITHMETIC): Allow arithmetic tests to be negated.
  (rtl_vm_engine): Change calling convention to use the same location
  for single and multiple-value returns.  Renumber all instructions.

  (halt, halt/values): Fold into a single instruction (halt).
  (call): Take the location of the procedure instead of the location of
  the call frame.  Also take the number of args, and reset the sp before
  jumping to the procedure, so as to indicate the number of arguments.
  (call/values): Remove, as the new calling convention has RA == MVRA.
  (tail-call): Require the procedure to be shuffled down already, and
  take "nlocals" as an arg instead of "nargs".
  (receive, receive-values): New instructions, for receiving returned
  values from calls.
  (return-values): Rename from return/values.  Remove "values".
  (alloc-frame): Rename from reserve-locals.
  (reset-frame): New instruction.
  (drop-locals): Remove.
  (br-if-=, br-if-<, br-if-<=): Allow these instructions to be
  negatable.
  (br-if->, br-if->=): Remove.  Probably a bad idea, given NaN.
  (box-ref): Don't bother trying to do a reverse lookup -- the
  toplevel-box, module-box, and resolve instructions should handle
  that.
  (resolve): Add arg to check that the variable is bound.
  (toplevel-box, module-box): New instructions, replacing toplevel-ref,
  toplevel-set, module-ref, and module-set.

* libguile/vm.c (rtl_boot_continuation_code, rtl_values_code): Adapt to
  instruction set changes.

* module/Makefile.am: Make the assembler and disassembler dependent on
  vm-operations.h.

* module/system/vm/assembler.scm:
* module/system/vm/disassembler.scm: Adapt to instruction changes and
  new instruction word kinds.

* test-suite/tests/rtl.test: Adapt to instruction set changes.
2013-08-11 16:45:31 +02:00
..
00-initial-env.test Add optimized tagged integer addition/subtractions for x86_64. 2010-11-19 13:34:43 +01:00
00-socket.test Merge remote-tracking branch 'origin/stable-2.0' 2013-04-14 02:48:33 -04:00
alist.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
and-let-star.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
arbiters.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
arrays.test Remove double indirection in array-fill! 2013-04-05 22:54:14 +02:00
asm-to-bytecode.test Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
bit-operations.test fix bug in ash opcode 2010-03-31 22:29:29 +02:00
bitvectors.test deprecate generalized vectors in favor of arrays 2013-02-18 16:57:15 +01:00
brainfuck.test move (test-suite lib) to lower dir; cleans up uninstalled paths. 2012-04-23 21:46:06 +02:00
bytevectors.test deprecate generalized vectors in favor of arrays 2013-02-18 16:57:15 +01:00
c-api.test Rework c-api.test to use test lib 2012-01-04 08:02:05 -08:00
chars.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
coding.test Using 'pass-if-equal' in coding.test. 2013-04-14 02:29:25 -04:00
common-list.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
compiler.test move (test-suite lib) to lower dir; cleans up uninstalled paths. 2012-04-23 21:46:06 +02:00
continuations.test with-continuation-barrier calls exit(3) _after_ unwinding 2011-03-30 12:43:50 +02:00
control.test Add call/ec' and let/ec'. 2013-04-05 22:54:14 +02:00
coverage.test tests: Don't rely on `scm_call_2' being visible. 2013-06-16 20:58:21 +02:00
cse.test Pre-order tree-il rewrites are now non-destructive 2013-06-10 22:46:08 +02:00
curried-definitions.test fix curried definitions for value defines 2010-04-08 21:01:52 +02:00
ecmascript.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
elisp-compiler.test fix `flet' syntax 2012-02-03 18:53:50 -05:00
elisp-reader.test use correct names for quasiquotation operators 2010-12-07 13:21:02 +01:00
elisp.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
encoding-escapes.test Change `scm_encoding_error' to pass the port and faulty character. 2011-02-02 18:06:29 +01:00
encoding-iso88591.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
encoding-iso88597.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
encoding-utf8.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
eval-string.test add ice-9 eval-string 2011-03-05 23:16:11 +01:00
eval.test Merge remote-tracking branch 'origin/stable-2.0' 2013-01-07 17:23:26 -05:00
exceptions.test deprecate lazy-catch 2010-02-26 11:56:02 +01:00
filesys.test tests: Remove symlink only when it exists. 2013-06-16 16:54:12 +02:00
fluids.test Fix later-bindings-win logic in with-fluids. 2013-02-28 18:43:09 -05:00
foreign.test Merge remote-tracking branch 'origin/stable-2.0' 2013-07-16 01:33:27 -04:00
format.test format: Add specifier ~h for localized number output. 2012-02-03 16:35:06 +01:00
fractions.test Fix incorrect rationalize tests. 2013-07-21 08:09:46 -04:00
ftw.test test-suite: Skip EACCES' test of file-system-fold' when run as root. 2012-12-10 23:41:06 +01:00
future.test futures: Limit the number of nested futures on the same stack. 2013-03-27 18:09:49 +01:00
gc.test tests: Add more `maybe-gc-flakiness'. 2013-03-22 22:24:27 +01:00
getopt-long.test Implement #:stop-at-first-non-option option for getopt-long 2011-05-26 17:58:18 +01:00
goops.test update tests after vtable-vtable deprecation 2012-07-28 13:03:04 +02:00
guardians.test Merge branch 'master' into boehm-demers-weiser-gc 2009-08-18 00:06:45 +02:00
hash.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
hooks.test Enclose hooks tests in their own module. 2010-01-07 11:10:36 +01:00
i18n.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
iconv.test fix bug where scm_from_utf8_stringn would not detect bad utf-8 2013-01-15 11:01:10 +01:00
import.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
interp.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
keywords.test Fix "coding:" cookies in the test suite. 2010-03-02 23:36:29 +01:00
linker.test fix linker.test 2013-06-10 22:42:46 +02:00
list.test Improve error reporting in 'append!' 2012-10-06 06:04:29 -04:00
load.test primitive-load returns the value(s) of the last expression 2012-01-09 16:15:00 +01:00
match.test move (test-suite lib) to lower dir; cleans up uninstalled paths. 2012-04-23 21:46:06 +02:00
match.test.upstream Update (ice-9 match) from Chibi-Scheme. 2011-10-16 18:36:20 +02:00
modules.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
multilingual.nottest Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
net-db.test tests: Have `getaddrinfo' test work for Darwin 8. 2012-02-03 10:30:52 +01:00
numbers.test Rewrite 'rationalize' to fix bugs and improve efficiency. 2013-07-21 06:44:54 -04:00
optargs.test Report the faulty keyword in errors raised by `scm_c_bind_keyword_arguments'. 2013-06-05 00:25:39 +02:00
options.test fix up options.test 2010-09-25 12:12:45 +02:00
pairs.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
parameters.test current-input-port et al are srfi-39 parameters 2011-12-10 21:37:19 +01:00
peg.bench PEG Renames 2013-01-16 10:11:49 +01:00
peg.test PEG Renames 2013-01-16 10:11:49 +01:00
peval.test Inline escape-only prompt bodies in the Tree-IL 2013-08-11 16:45:31 +02:00
poe.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
popen-child.scm Fix hanging of popen.test 2010-07-01 22:16:54 +01:00
popen.test build: Build and check (ice-9 popen) only when --enable-posix and HAVE_FORK. 2013-03-29 19:20:01 +01:00
ports.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
posix.test tests: Remove leftover `pk'. 2012-12-19 23:31:05 +01:00
print.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
procprop.test remove @apply memoizer 2013-06-27 22:02:35 +02:00
procs.test Add compose', negate', and `const'. 2010-12-16 23:45:23 +01:00
q.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
r4rs.test Placate a number of `syntax-check' verifications. 2012-01-05 23:38:10 +01:00
r5rs_pitfall.test Remove deprecation warnings from the build 2009-09-17 01:18:14 +01:00
r6rs-arithmetic-bitwise.test Optimize R6RS bitwise operators. 2013-07-21 10:00:48 -04:00
r6rs-arithmetic-fixnums.test Optimize R6RS bitwise operators. 2013-07-21 10:00:48 -04:00
r6rs-arithmetic-flonums.test Update copyright dates of recently-changed R6RS bitwise/flonums files. 2013-07-16 12:12:25 -04:00
r6rs-base.test R6RS `string-for-each' should accept multiple string arguments 2012-11-22 22:26:16 +01:00
r6rs-conditions.test Some tweaks to the R6RS support 2010-11-25 23:04:12 +01:00
r6rs-control.test Implementation and test cases for the R6RS (rnrs control) library. 2010-05-20 21:18:02 -04:00
r6rs-enums.test Enumeration set universe comparisons should be done with `equal?' 2010-11-21 15:35:44 -05:00
r6rs-eval.test Fix typo in license comment. 2010-05-20 21:18:04 -04:00
r6rs-exceptions.test Add `guard' form and test cases to R6RS (rnrs exceptions) library. 2010-05-20 21:18:03 -04:00
r6rs-files.test Implementation and test cases for R6RS (rnrs files) library. 2010-05-20 21:18:03 -04:00
r6rs-hashtables.test Fix argument passing for external hash functions in `(rnrs hashtables)'. 2010-07-14 01:16:19 -04:00
r6rs-lists.test Fix R6RS `fold-left' so the accumulator is the first argument. 2011-11-01 01:11:46 +01:00
r6rs-ports.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
r6rs-records-inspection.test Implementation for the R6RS (rnrs hashtables) library; 2010-05-20 21:18:02 -04:00
r6rs-records-procedural.test Fix test suite title in comment 2010-05-20 21:18:03 -04:00
r6rs-records-syntactic.test fix r6rs-records-syntactic.test to not shadow a literal 2011-07-01 12:01:58 +02:00
r6rs-unicode.test Implementation and test cases for the R6RS (rnrs unicode) library. 2010-05-20 21:18:03 -04:00
ramap.test tests: Add `array-for-each' tests for one-dimensional traversals. 2013-04-03 21:46:27 +02:00
rdelim.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
reader.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
receive.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
records.test make-record-type slight refactor 2010-04-19 19:33:57 +02:00
regexp.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
rnrs-libraries.test R6RS srfi library names should ignore first identifier after the :n 2012-11-25 12:28:41 +00:00
rnrs-test-a.scm move (test-suite lib) to lower dir; cleans up uninstalled paths. 2012-04-23 21:46:06 +02:00
rtl.test Various RTL VM and calling convention tweaks 2013-08-11 16:45:31 +02:00
session.test More procedure-arguments-alist documentation and a bugfix 2013-01-07 22:02:26 +01:00
signals.test Add define-module to signals.test 2009-10-01 21:56:49 +01:00
sort.test Fix likely crash in `stable-sort!' 2011-06-09 22:11:02 +02:00
srcprop.test Add tests to verify that 'read' sets source properties when appropriate 2012-02-15 12:23:12 -05:00
srfi-1.test fix take-right and drop-right for improper lists 2011-08-12 23:26:15 +02:00
srfi-4.test deprecate generalized vectors in favor of arrays 2013-02-18 16:57:15 +01:00
srfi-6.test Make SRFI-6 string ports Unicode-capable. 2012-06-20 15:50:27 +02:00
srfi-9.test srfi-9.test: avoid symbols of the form ':bar' for more robust checking. 2012-11-10 19:14:08 -05:00
srfi-10.test add quasisyntax 2009-11-14 17:25:12 +01:00
srfi-11.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-13.test Unoptimize 'read' to return freshly allocated empty strings 2012-02-08 16:27:32 -05:00
srfi-14.test Update srfi-14 test for Unicode 6.1 2012-02-02 19:50:07 -08:00
srfi-17.test adapt tests to new syntax-error form 2010-11-18 11:04:15 +01:00
srfi-18.test srfi-18 test fix 2012-02-24 20:01:47 +01:00
srfi-19.test Have srfi-19.test' use the non-deprecated format' style. 2011-01-29 21:46:44 +01:00
srfi-26.test * tests/srfi-26.test: New. 2004-01-21 00:45:48 +00:00
srfi-27.test Add implementation of SRFI 27 2010-09-27 22:15:51 +02:00
srfi-31.test Rewrite SRFI-31 in terms of `syntax-rules'. 2012-09-11 23:39:32 +02:00
srfi-34.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-35.test test-suite: eq-ness of numbers, characters is unspecified 2013-03-01 11:03:22 -05:00
srfi-37.test SRFI-37: Fix infinite loop when processing short option with no required arg. 2013-03-25 23:25:57 +01:00
srfi-38.test Add implementation of SRFI 38 2010-11-03 00:19:54 +01:00
srfi-39.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-41.test Add SRFI-41. 2013-03-27 13:37:45 -04:00
srfi-42.test Remove stale test file. 2012-01-30 20:57:42 +01:00
srfi-45.test SRFI-45: add promise? predicate. 2013-03-26 21:22:11 -04:00
srfi-60.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-67.test Placate a number of `syntax-check' verifications. 2012-01-05 23:38:10 +01:00
srfi-69.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-88.test Fix "coding:" cookies in the test suite. 2010-03-02 23:36:29 +01:00
srfi-98.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
srfi-105.test String ports use UTF-8; ignore %default-port-encoding. 2013-08-07 01:22:22 -04:00
statprof.test Have `statprof.test' fail gracefully when samples could not be collected. 2012-01-14 23:02:03 +01:00
streams.test Change Guile license to LGPLv3+ 2009-06-17 00:22:09 +01:00
strings.test remove @apply memoizer 2013-06-27 22:02:35 +02:00
structs.test Implement `hash' for structs. 2012-10-12 23:21:39 +02:00
sxml-match-tests.ss sxml-match: Handle multiple-value returns. 2010-05-26 23:41:23 +02:00
sxml.fold.test Remove `fold' from (sxml fold). 2010-04-09 00:32:14 +02:00
sxml.match.test move (test-suite lib) to lower dir; cleans up uninstalled paths. 2012-04-23 21:46:06 +02:00
sxml.simple.test add #:doctype-handler to xml->sxml 2013-01-30 15:29:18 +01:00
sxml.ssax.test update licenses on tests imported from guile-lib 2010-04-07 21:37:50 +02:00
sxml.transform.test update licenses on tests imported from guile-lib 2010-04-07 21:37:50 +02:00
sxml.xpath.test update licenses on tests imported from guile-lib 2010-04-07 21:37:50 +02:00
symbols.test symbols with odd characters print better in #{}# 2011-04-11 13:48:11 +02:00
syncase.test psyntax: ((@@ primitive NAME) ARG ...) in (guile) module is a primcall 2013-06-23 21:36:08 +02:00
syntax.test Merge remote-tracking branch 'origin/stable-2.0' 2012-02-11 18:14:48 +01:00
texinfo.docbook.test update licenses on tests imported from guile-lib 2010-04-07 21:37:50 +02:00
texinfo.serialize.test texinfo: Add whitespace after periods. 2013-03-22 22:05:23 +01:00
texinfo.string-utils.test texinfo: Add whitespace after periods. 2013-03-22 22:05:23 +01:00
texinfo.test test suite: Fix typo in `texinfo.test'. 2013-03-21 19:17:56 +01:00
threads.test futures: Limit the number of nested futures on the same stack. 2013-03-27 18:09:49 +01:00
time.test Modify socket and time functions for wide strings 2009-08-23 09:29:45 -07:00
tree-il.test remove @call-with-current-continuation memoizer 2013-06-27 22:02:43 +02:00
vectors.test add vector-move test cases 2011-02-14 20:21:04 +01:00
version.test Relax the `(version)' test. 2010-05-30 22:39:23 +02:00
vlist.test Merge remote-tracking branch 'origin/stable-2.0' 2013-03-28 05:09:53 -04:00
weaks.test hash-set! on weak tables returns the value 2012-03-02 18:26:56 +01:00
web-client.test Add http-post, http-put, et cetera 2013-01-11 15:40:00 +01:00
web-http.test web http: parse numeric time zones in headers 2013-03-27 18:09:49 +01:00
web-request.test fix web-request.test 2011-07-18 10:37:46 +02:00
web-response.test Port encodings are case-insensitive, but normalized to upper-case. 2013-01-15 16:32:17 +01:00
web-uri.test web: uri-encode hexadecimal percent-encoding is now uppercase 2013-05-02 17:13:55 -04:00