1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-06-09 13:30:26 +02:00
guile/libguile
Andy Wingo 043a5b62bb Rework treatment of bytevector flags
Before, they were always shifted by 7.  Now the flags are just above
0x7f and just the element type is shifted, but by 16.

* libguile/bytevectors.h (SCM_BYTEVECTOR_FLAGS): Rework to not shift.
(SCM_SET_BYTEVECTOR_FLAGS): Remove.
(SCM_MUTABLE_BYTEVECTOR_P): Don't shift the immutable flag.
(SCM_BYTEVECTOR_ELEMENT_TYPE): Shift right by 16.
* libguile/bytevectors.c (SCM_BYTEVECTOR_SET_FLAG): Remove unused
helper.
(make_bytevector_tag): New helper.
(make_bytevector): Use new helper.
(make_bytevector_from_buffer): Add flags and parent args, and use new
helper.
(scm_c_take_gc_bytevector):
(scm_c_take_typed_bytevector):
(scm_bytevector_slice): Update callers.
* module/system/vm/assembler.scm (link-data): Don't shift the flag by 7;
instead shift the element type by 16.
2025-05-30 14:19:30 +02:00
..
lightening Merge remote-tracking branch 'lightening/main' 2025-01-29 16:52:29 +01:00
whippet Merge remote-tracking branch 'whippet/main' into wip-whippet 2025-05-27 15:50:57 +02:00
.gitignore
__scm.h
alist.c
alist.h
array-handle.c bitvector-set-bit! / bitvector-clear-bit! replace bitvector-set! 2020-04-14 22:40:43 +02:00
array-handle.h Remove array contp flag 2021-08-16 19:02:43 +02:00
array-map.c Remove array contp flag 2021-08-16 19:02:43 +02:00
array-map.h
arrays.c Better error messages in array functions 2024-08-12 14:24:58 +02:00
arrays.h Revert shift of ndim in array tag from 3df3ba1a2c 2021-09-17 11:20:24 +02:00
async.c Switch to use atomic_compare_exchange_strong 2019-05-25 17:17:49 +02:00
async.h
atomic.c Switch to use atomic_compare_exchange_strong 2019-05-25 17:17:49 +02:00
atomic.h
atomics-internal.h Remove BDW usage from gc.c 2025-05-15 15:56:03 +02:00
backtrace.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
backtrace.h
bitvectors.c Remove all deprecated interfaces 2025-05-02 15:50:42 +02:00
bitvectors.h New function bitvector-copy (scm_bitvector_copy) 2022-01-04 12:28:41 +01:00
boolean.c Improve the documentation for 'nil?'. 2019-05-23 15:53:55 +02:00
boolean.h
bytevectors.c Rework treatment of bytevector flags 2025-05-30 14:19:30 +02:00
bytevectors.h Rework treatment of bytevector flags 2025-05-30 14:19:30 +02:00
c-tokenize.lex
cache-internal.h
ChangeLog-1996-1999
ChangeLog-2000
ChangeLog-2008
ChangeLog-scm
ChangeLog-srfi
ChangeLog-threads
chars.c Revert "Revert scm_c_make_char rename" 2019-08-24 11:57:39 +02:00
chars.h Revert "Revert scm_c_make_char rename" 2019-08-24 11:57:39 +02:00
chooks.c
chooks.h
continuations.c Make programs.h private 2025-05-30 12:52:54 +02:00
continuations.h Make programs.h private 2025-05-30 12:52:54 +02:00
control.c Make programs.h private 2025-05-30 12:52:54 +02:00
control.h
cpp-E.syms
cpp-SIG.syms
custom-ports.c Add "custom ports" 2023-06-08 09:03:10 +02:00
custom-ports.h Add "custom ports" 2023-06-08 09:03:10 +02:00
debug.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
debug.h
deprecated.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
deprecated.h Remove SMOB mark functions 2025-05-15 10:46:01 +02:00
deprecation.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
deprecation.h
dynl.c Add windows stubs for dlopen, dlclose, dlsym, dlerror 2021-03-11 08:30:57 -08:00
dynl.h Replace libltdl with raw dlopen, dlsym 2021-02-03 23:02:21 +01:00
dynstack.c Fix setjmp/longjmp-related crashes on Windows 2024-10-20 12:14:21 +02:00
dynstack.h Fix setjmp/longjmp-related crashes on Windows 2024-10-20 12:14:21 +02:00
dynwind.c
dynwind.h
elf.h
ephemerons.c Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00
ephemerons.h Remove weak set usage in ports.c 2025-05-14 16:12:11 +02:00
eq.c Reimplement weak vectors in Scheme using ephemerons 2025-05-05 16:29:24 +02:00
eq.h
error.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
error.h Remove traces of 'scm_memory_error'. 2020-02-10 00:10:10 +01:00
eval.c Give reified value objects a proper data type 2025-05-30 09:57:08 +02:00
eval.h
evalext.c Remove weak sets 2025-05-14 16:12:11 +02:00
evalext.h
exceptions.c Hook up gc_heap_set_allocation_failure_handler 2025-04-23 14:04:23 +02:00
exceptions.h Rebase throw/catch on top of raise-exception/with-exception-handler 2019-11-13 22:24:19 +01:00
expand.c Boot expander no longer tracks source positions 2025-05-12 14:06:06 +02:00
expand.h Add "mod" field to tree-il toplevel ref, set, define 2019-08-18 22:27:12 +02:00
extensions.c Replace libltdl with raw dlopen, dlsym 2021-02-03 23:02:21 +01:00
extensions.h Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
fdes-finalizers.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
fdes-finalizers.h
feature.c
feature.h
filesys.c filesys.c: Use scm_sendfile to copy files 2025-03-19 21:25:40 -05:00
filesys.h Add copy-on-write support to scm_copy_file. 2024-03-12 14:04:41 +01:00
finalizers.c Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00
finalizers.h Don't run finalizers until Guile is initialized 2025-05-04 09:12:52 +02:00
fluids.c Remove the last direct uses of BDW API 2025-05-15 16:13:18 +02:00
fluids.h Rework fluids to use ephemeron hash tables 2025-05-12 13:45:21 +02:00
foreign-object.c Add (system finalizers) 2025-05-02 16:03:13 +02:00
foreign-object.h Add (system finalizers) 2025-05-02 16:03:13 +02:00
foreign.c Make programs.h private 2025-05-30 12:52:54 +02:00
foreign.h Move pointers to new finalization API 2025-05-02 16:45:41 +02:00
fports.c Windows 11: for fport input from the console, ignore terminal returns 2025-03-23 10:26:40 -07:00
fports.h Avoid throwing exceptions during early boot if stdin is closed 2019-12-13 13:52:58 +01:00
frames.c Make programs.h private 2025-05-30 12:52:54 +02:00
frames.h Make programs.h private 2025-05-30 12:52:54 +02:00
gc-inline.h Switch to use Whippet allocation fast paths 2025-04-22 13:44:44 +02:00
gc-internal.h Use Whippet API to boot threads 2025-04-22 10:36:30 +02:00
gc-malloc.c SCM_GC_MALLOC avoids BDW API 2025-05-04 15:58:50 +02:00
gc.c Fix a bug in after-gc Scheme hook 2025-05-22 16:24:16 +02:00
gc.h SCM_GC_MALLOC avoids BDW API 2025-05-04 15:58:50 +02:00
gen-scmconfig.c Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
gen-scmconfig.h.in improve autoconfigury for minigmp 2021-03-02 06:18:32 -08:00
generalized-vectors.c
generalized-vectors.h
gettext.c
gettext.h
goops.c Make programs.h private 2025-05-30 12:52:54 +02:00
goops.h
gsubr.c Make programs.h private 2025-05-30 12:52:54 +02:00
gsubr.h Make programs.h private 2025-05-30 12:52:54 +02:00
guile-func-name-check
guile-snarf-docs.in
guile-snarf.awk.in
guile-snarf.in
guile.c Don't force installation of GMP allocators in guile shell 2021-03-12 22:38:21 +01:00
hash.c Remove weak sets 2025-05-14 16:12:11 +02:00
hash.h
hashtab.c Remove the last direct uses of BDW API 2025-05-15 16:13:18 +02:00
hashtab.h Move weak table implementation to Scheme 2025-05-13 14:57:31 +02:00
hooks.c
hooks.h
i18n.c Remove some uses of scm_gc_free 2025-04-23 15:15:57 +02:00
i18n.h
init.c Remove weak sets 2025-05-14 16:12:11 +02:00
init.h Use Whippet API to boot threads 2025-04-22 10:36:30 +02:00
inline.c Add 'scm_c_make_char' and use it where appropriate. 2019-05-23 17:48:46 +02:00
inline.h
instructions.c Add sign-extending make-immediate instruction 2020-07-30 17:36:11 +02:00
instructions.h
integers.c Simplify struct scm_bignum 2025-05-28 11:22:29 +02:00
integers.h Re-rewrite integer-expt in C 2022-01-13 09:37:17 +01:00
intrinsics.c Switch to use Whippet allocation fast paths 2025-04-22 13:44:44 +02:00
intrinsics.h Make programs.h private 2025-05-30 12:52:54 +02:00
ioext.c Remove weak sets 2025-05-14 16:12:11 +02:00
ioext.h
iselect.h on MinGW, prefer winsock2.h over sys/select in iselect 2021-03-11 09:37:12 -08:00
jit.c Add JIT support for bump-pointer allocation fast paths 2025-05-24 21:45:25 +02:00
jit.h Speed up returns in JIT 2019-06-18 21:45:29 +02:00
keywords.c
keywords.h Implement hashing for keywords, i.e. (hash #:x ...) 2020-02-21 01:36:14 -06:00
libgettext.h
libguile-4.0-gdb.scm Rename libguile-3.0-gdb.scm -> libguile-4.0-gdb.scm 2025-05-13 15:52:39 +02:00
libguile.map
list.c Fix typos throughout codebase. 2024-05-06 11:51:53 +02:00
list.h Fix list validation of *list->bytevector procedures. 2019-05-23 16:01:13 +02:00
load.c Redirect diagnostice output messages (e.g., auto-compiling code) to a newly defined current-info-port, and add a command line argument -I' to set the current-info-port to a void-port. * libguile/ports.c: add cur_infoport_fluid, scm_current_info_port, scm_set_current_info_port; define default current-info-port to stderr * libguile/load.c(compiled_is_fresh,load_thunk_from_path, do_try_auto_compile,scm_sys_warn_auto_compilation_enabled, scm_primitive_load_path): direct output messages to current_info_port; was current_warning_port * libguile/init.c(scm_init_standard_ports): set default current_info_port * module/ice-9/ports.scm: define current-info-port and set-current-info-port * module/ice-9/command-line.scm(*usage*,compile-shell-switches): add argument -I' to silence diagnostics (or current-info-port to void-port) * doc/ref/guile-invoke.texi: add description for `-I' command argument 2024-10-12 13:16:25 +02:00
load.h
loader.c Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00
loader.h Bump version to 3.9.x 2025-04-22 13:23:00 +02:00
locale-categories.h
macros.c Fix race when expanding syntax-parameterize and define-syntax-parameter 2019-02-22 15:11:29 +01:00
macros.h
Makefile.am Make programs.h private 2025-05-30 12:52:54 +02:00
mallocs.c
mallocs.h
memoize.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
memoize.h
mini-gmp.c Include config.h in mini-gmp.c, if present 2021-05-01 22:39:30 +02:00
mini-gmp.h Enable option to prefer mini-gmp over libgmp 2021-03-02 06:18:32 -08:00
modules.c Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
modules.h
net_db.c Fix typos throughout codebase. 2023-07-16 22:09:01 +02:00
net_db.h
null-threads.c Fix compilation --without-threads. 2020-03-21 18:25:52 +01:00
null-threads.h in null threads, don't define sigmask stub when pthread_sigmask does not exist 2021-01-21 15:34:03 -08:00
numbers.c Give reified value objects a proper data type 2025-05-30 09:57:08 +02:00
numbers.h Presume ISO C90 headers are always available 2022-10-14 08:40:23 -07:00
options.c Fix typos throughout codebase. 2024-05-06 11:51:53 +02:00
options.h
pairs.c Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00
pairs.h Reimplement scm_is_mutable_pair using gc_heap_contains 2025-05-04 15:15:41 +02:00
poll.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
poll.h
ports-internal.h Remove weak set usage in ports.c 2025-05-14 16:12:11 +02:00
ports.c Remove weak sets 2025-05-14 16:12:11 +02:00
ports.h Remove weak set usage in ports.c 2025-05-14 16:12:11 +02:00
posix-w32.c Windows 11: for fport input from the console, ignore terminal returns 2025-03-23 10:26:40 -07:00
posix-w32.h Windows 11: for fport input from the console, ignore terminal returns 2025-03-23 10:26:40 -07:00
posix.c Remove all deprecated interfaces 2025-05-02 15:50:42 +02:00
posix.h Remove all deprecated interfaces 2025-05-02 15:50:42 +02:00
print.c Give reified value objects a proper data type 2025-05-30 09:57:08 +02:00
print.h Remove the 'simple vector' concept 2021-08-16 15:39:21 +02:00
private-options.h Clean up srcprops implementation 2020-09-03 22:55:08 +02:00
procprop.c Make programs.h private 2025-05-30 12:52:54 +02:00
procprop.h
procs.c Make programs.h private 2025-05-30 12:52:54 +02:00
procs.h
programs.c Make programs.h private 2025-05-30 12:52:54 +02:00
programs.h Make programs.h private 2025-05-30 12:52:54 +02:00
promises.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
promises.h
pthread-threads.h
quicksort.i.c
r6rs-ports.c Move r6rs-ports off scm_gc_realloc 2025-04-30 10:39:20 +02:00
r6rs-ports.h Rewrite custom binary ports in Scheme, in terms of custom ports 2023-06-08 09:03:10 +02:00
random.c Remove some uses of scm_gc_free 2025-04-23 15:15:57 +02:00
random.h
rdelim.c Revert "Handle CRLF and Unicode line endings in read-line" 2021-03-12 22:08:16 +01:00
rdelim.h
read.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
read.h Scheme reader fully replaces C reader 2021-03-03 21:43:33 +01:00
regex-posix.c Remove some uses of scm_gc_free 2025-04-23 15:15:57 +02:00
regex-posix.h
remaining-docs-needed
run-test
rw.c
rw.h
scm.h Remove weak sets 2025-05-14 16:12:11 +02:00
scmconfig.h.top
scmsigs.c Use Whippet API for signal handler thread 2025-05-15 12:05:52 +02:00
scmsigs.h Ensure the signal-delivery thread is completely stopped before fork 2024-06-21 11:11:46 +02:00
script.c Copy terminating zero in 'scm_cat_path'. 2019-06-20 11:43:54 +02:00
script.h Deprecate scm_find_executable 2018-10-07 16:04:59 +02:00
setjump-win.h Fix setjmp/longjmp-related crashes on Windows 2024-10-20 12:14:21 +02:00
simpos.c Presume ISO C90 functions are always available 2022-10-14 08:40:23 -07:00
simpos.h
smob.c Remove the last direct uses of BDW API 2025-05-15 16:13:18 +02:00
smob.h Remove SMOB mark functions 2025-05-15 10:46:01 +02:00
snarf.h Use 'scm_from_utf8_{string,symbol,keyword}' for C string literals. 2019-05-23 16:41:53 +02:00
socket.c Fixes potential buffer overflow in getsockopt for timevals 2025-03-18 12:24:31 -05:00
socket.h Merge from stable-2.2 2019-08-02 15:29:33 +02:00
sort.c Merge libguile/generalized-arrays.* into libguile/arrays.* 2021-08-03 14:21:41 +02:00
sort.h
srfi-4.c Remove the last direct uses of BDW API 2025-05-15 16:13:18 +02:00
srfi-4.h New function srfi-4-vector-type-size in (srfi srfi-4 gnu) 2021-12-06 14:00:03 +01:00
srfi-13.c doc: Fix composition describing scm_reverse_list_to_string 2021-01-17 13:15:45 -06:00
srfi-13.h
srfi-14.c Refactor srfi-14.c to use malloc instead of realloc 2025-04-30 10:42:07 +02:00
srfi-14.h Remove accidental chars in srfi-14.h 2025-04-30 10:42:07 +02:00
srfi-60.c Finish srfi-60 port off old scm mpz API 2022-01-13 09:37:17 +01:00
srfi-60.h
stackchk.c
stackchk.h
stacks.c Make programs.h private 2025-05-30 12:52:54 +02:00
stacks.h Inline "struct scm_frame" into tagged frame objects 2025-05-29 21:53:36 +02:00
stime.c missing includes for list.h 2021-01-21 15:33:43 -08:00
stime.h
strings.c 'string->symbol' avoids copying the underlying string. 2022-02-07 12:23:35 +01:00
strings.h Eight byte align statically allocated stringbufs 2024-11-29 12:24:57 -06:00
strorder.c
strorder.h
strports.c Merge from stable-2.2 2019-08-02 15:02:49 +02:00
strports.h
struct.c Remove the last direct uses of BDW API 2025-05-15 16:13:18 +02:00
struct.h Prepare structs for new finalization API 2025-05-02 15:50:49 +02:00
symbols.c The symbol table is an ephemeron table 2025-05-14 16:12:11 +02:00
symbols.h Deprecate symbol properties. 2022-02-04 11:12:28 +01:00
syntax.c Move source properties out to a module 2025-05-12 16:29:04 +02:00
syntax.h syntax-source returns a vector 2025-05-12 15:05:40 +02:00
syscalls.h Add missing #include in syscalls.h 2025-03-22 14:17:41 -07:00
tags.h Fix typo in tags.h comment. 2019-06-18 02:05:20 -04:00
texi-fragments-to-docstrings
threads.c Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00
threads.h Move to store thread join cond/lock/results directly 2025-05-12 13:45:07 +02:00
throw.c Fix stack overflow if printing a pre-boot error throws an error 2019-11-25 09:46:58 +01:00
throw.h Rebase throw/catch on top of raise-exception/with-exception-handler 2019-11-13 22:24:19 +01:00
trace.h Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00
unicode.c Fix use of uninstalled header by installed headers 2018-10-07 15:15:02 +02:00
unicode.h
UnicodeData.txt Create 'srfi-14.i.c' during build. 2022-03-24 14:28:46 +01:00
unidata_to_charset.awk Create 'srfi-14.i.c' during build. 2022-03-24 14:28:46 +01:00
uniform.c
uniform.h
validate.h Fix list validation of *list->bytevector procedures. 2018-10-14 02:27:23 -04:00
values.c Give reified value objects a proper data type 2025-05-30 09:57:08 +02:00
values.h Give reified value objects a proper data type 2025-05-30 09:57:08 +02:00
variable.c
variable.h
vectors.c Remove the last direct uses of BDW API 2025-05-15 16:13:18 +02:00
vectors.h Remove the 'simple vector' concept 2021-08-16 15:39:21 +02:00
version.c
version.h.in
vm-builtins.h Expose scm_vm_builtin_ref internally 2018-08-19 17:38:59 +02:00
vm-engine.c Make programs.h private 2025-05-30 12:52:54 +02:00
vm-expand.h
vm.c Make programs.h private 2025-05-30 12:52:54 +02:00
vm.h Make programs.h private 2025-05-30 12:52:54 +02:00
vports.c Rewrite soft ports in Scheme 2023-06-08 09:03:10 +02:00
vports.h Rewrite soft ports in Scheme 2023-06-08 09:03:10 +02:00
whippet-embedder.h Update for Whippet changes, VM stacks scanned partly-conservatively 2025-05-21 14:31:23 +02:00