Commit Graph

31 Commits

Author SHA1 Message Date
Matthew Flatt
c069bbf219 adjust compute-size-increments test for interpreter
original commit: 7b64c7701664d11cd5ab6a777dc0993456513c82
2019-04-26 22:37:06 -05:00
Matthew Flatt
8070a7b910 Merge branch 'eqfl' of github.com:mflatt/ChezScheme
original commit: 8b36396eacb139e0fff70efcd2c9dc842815324f
2019-01-22 05:57:17 -07:00
Matthew Flatt
b27f3c0a94 Merge branch 'phantom' of github.com:mflatt/ChezScheme
original commit: 743a56d8f1920620e8f6e14edca7984101425e14
2019-01-20 07:56:59 -07:00
Matthew Flatt
538def47de add phantom bytevectors
original commit: 001917fd98ac6a0f13ccab902e15b9d2169c4b9c
2019-01-20 07:41:09 -07:00
dyb
ee9a4b3f59 profile counts are now maintained even for code that has been
reclaimed by the collector and must be released explicitly by the
programmer via (profile-release-counters).
  pdhtml.ss, primdata.ss,
  globals.h, externs.h, fasl.c, prim5.c, prim.c, alloc.c, scheme.c,
  misc.ms,
  release_notes.stex, system.stex

original commit: 68e20f721618dbaf4c1634067c2bee24a493a750
2019-01-17 09:43:18 -08:00
Matthew Flatt
3e297e025e adjust make-arity-wrapper to enforce the supplied arity mask
original commit: a9ec7da3ea3b8edc665b060bcba675248119d260
2019-01-15 11:56:03 -07:00
Matthew Flatt
54282dedc4 Merge branch '17-5-Types-Pass' of github.com:gus-massa/ChezScheme
original commit: caf857a33e13c116afa6e2d960eccbada3604190
2019-01-11 15:35:20 -07:00
Matthew Flatt
3658fad6b7 Merge branch 'count' of github.com:mflatt/ChezScheme
original commit: 9d0a647e87089c91195cc49480d848212025a7ed
2019-01-05 09:55:07 -07:00
Matthew Flatt
aaaa5fefa1 add compute-size-increments
Also adds `get-initial-thread`, since threa values are useful with
`compute-size[-increments]`.

Changes the compiler to inline `weak-pair?` and `ephemeron-pair?`,
since that provides better performance for `compute-size-increments`.

original commit: 57d0cc13f8e932972cba3837b4f54e9c86786091
2019-01-05 09:49:12 -07:00
Matthew Flatt
7c548bb3a1 update vfasl merge
original commit: 99dac3f53f4a7d2b2c373489135e5d270c256726
2018-12-28 08:39:21 -06:00
Matthew Flatt
b81c2daf76 merge compiler repair from github.com:cisco/ChezScheme
original commit: 16de1bdcb5616d4796360643e3371594bb84731f
2018-08-23 20:16:17 -06:00
dyb
61df2f25f7 fix for issue #343
- the compiler now uses a temporary variable to hold the return
  value of a nested call across the restore-local-saves form to
  properly handle the case where the destination lvalue is an mref
  whose base and/or index is a local save.
    cpnanopass.ss,
    misc.ms

original commit: 835cbc2430be4f7381cee27133d42e77ace2b37f
2018-08-23 15:29:01 -07:00
Bob Burger
02131784f9 Merge branch 'procloc' of https://github.com/mflatt/ChezScheme into procloc
# Conflicts:
#	LOG
#	release_notes/release_notes.stex

original commit: 67b326cb9199a021d7c025834dedc8ac6285fc46
2018-07-18 10:18:24 -04:00
Matthew Flatt
cb82cdcc83 Merge branch 'genid' of github.com:mflatt/ChezScheme
original commit: 53b38c5cf56ba225c8366c23f8141e52e23451c9
2018-07-16 19:10:23 -06:00
Matthew Flatt
295ee0dc82 Merge branch 'procloc' of github.com:mflatt/ChezScheme
original commit: 84394bd01eb6bfe950ef426f17c6529b6fb90e94
2018-07-16 19:09:25 -06:00
Matthew Flatt
6b05eebb8f Merge branch 'arity-wrapper' of github.com:mflatt/ChezScheme
original commit: 0fb796cbb3f9945fa153e85f46ec99c5b2f809bb
2018-07-16 19:08:00 -06:00
Matthew Flatt
3a422fabb2 update tests for "prefer closest binding name"
original commit: 0c7bb874a2357187e6012601b32ed354c0ff9ba9
2018-07-16 11:01:17 -04:00
Matthew Flatt
28c8ebaeff add make-arity-wrapper-procedure
A program can use `make-arity-wrapper-procedure` to synthesize a
function that reports a given arity mask (without calling `compile`).

In addition, `set-arity-wrapper-procedure!` suports modifying the
implementation of a synthesized procedure. Although similar
functionality could be achieved with `(lambda args (apply (unbox proc)
args))`, an arity wrapper procedure can dispatch to another procedure
without allocating a list for the arguments.

The interpreter now uses an internal variant of arity wrappers to
cooperate with `procedure-arity-mask`.

original commit: 5fede14302840b55edbeb7565e28d09350a4b2e9
2018-07-16 07:52:55 -06:00
Matthew Flatt
6dd593ed89 add current-generate-id
original commit: 1e4cff5631e9e6615528b60ebcf3c04a8f38e3a0
2018-07-15 20:22:15 -06:00
Matthew Flatt
9521af1518 add generate-procedure-source-information
original commit: b42213a65e75b29f51d29a77d258fa1ba8a336b0
2018-07-15 19:51:54 -06:00
Matthew Flatt
3f9da4af46 prefer closest binding name for procedures
In some cases, such as

 (define g (let ([f (lambda (x) x)]) f))

the inner name `f` could get replaced by the outer name `g`.
Prefer the inner name so that macros can use a `let` wrapper
to reliably name a procedure.

original commit: 9ae0f856b0f81610c6caea13a5bfdf3b135de5b0
2018-06-22 09:09:56 -06:00
Gustavo Massaccesi
05c81335a4 Add safeongoodargs flag to primref
for example reduce (car <pair>) => (#3%car <pair>)

original commit: fedfc84d6abf348f9d2579d479b08f727eb7d445
2018-04-12 21:53:56 -03:00
dybvig
35590cea2b - fixed pariah mat
misc.ms

original commit: 271eae05086b2299529acf039a638543796e16a9
2017-07-12 13:25:25 -04:00
Gustavo Massaccesi
be3e357aae don't remove the pariah form in the cp0 pass
cp0.ss
  misc.ms

original commit: d6a1b8a9208d78bb8d216d9381546a6723fe5b9e
2017-07-10 17:10:19 -03:00
dyb
dacb66ac72 fixed a bug in flonum-extractor, which on 64-bit machines was using an
8-byte read instead of a 4-byte read to pick up the 4 highest-order
bytes of a little-endian flonum, potentially reading past the end of
mapped memory for flonums produced by taking the imaginary part of an
inexact complexnum (which, unlike other flonums, are not aligned on
16-byte boundaries).  The 8-byte load would also have failed to produce
correct results on 64-bit big-endian machines (of which we presently
have none) because the offsets passed to flonum-extractor assume the
bits are in the lowest-order 4 bytes of the extracted field.
  cp0.ss,
  misc.ms,
  release_notes.stex

original commit: 97bd75bcedbcf32b77c59615a638ea1528ebe26b
2017-06-09 21:21:08 -04:00
Matthew Flatt
bd922055d8 fix strip-fasl-file for immutable strings and vector
Also, fix an `$oops` in fasl-read` and fix `equal-hash-code` for
vectors.

original commit: cc8248b315f72ab6e0452e81e7aa23e4b5791011
2017-05-24 13:10:28 -06:00
Bob Burger
831ea8ad18 changed copyright year to 2017
7.ss, scheme.1.in, comments of many files

original commit: 06f858f9a505b9d6fb6ca1ac97234927cb2dc641
2017-04-06 11:41:33 -04:00
Kent Dybvig
9cd0199a39 merge @mflatt immutable-vector, immutable-string, immutable-bytevector,
immutable-fxvector, and immutable-box support

original commit: 547fce9b99c6566d5cb3f7af9ca84654e798486e
2017-03-15 11:09:57 -04:00
Matthew Flatt
21fe925d06 add procedure-arity-mask
original commit: 4bd061000ab903feb3fe8e3b96ecbcb10c59dba9
2017-02-22 07:16:53 -07:00
dybvig
35eaa9feff - fixed a bug in cpvalid resulting in it leaving behind a cpvalid-defer
form for later passes to choke on.  also fixed cp0 to print the correct
  name for cpvalid when it does this.
    cpvalid.ss, cp0.ss,
    misc.ms
- updated the prototype for s_ee_write_char to match the definition
    expeditor.c
- updated LOG and release_notes
- rebuilt boot files due to s-directory changes

original commit: 50aa8b34774a9e65e96481ae329a3f329fad7aca
2016-08-07 23:36:40 -04:00
dyb
1356af91b3 initial upload of open-source release
original commit: 47a210c15c63ba9677852269447bd2f2598b51fe
2016-04-26 10:04:54 -04:00