Skip to content

Commit

Permalink
SMP-safe eq-hash (#1125)
Browse files Browse the repository at this point in the history
As was pointed by @feeley on gitter, using `object->serial-number` is
not safe for eq-hashing.

This remedies the situation using a spinlock for SMP and a gcht for
mapping objects to hashes.
  • Loading branch information
vyzo authored Feb 20, 2024
1 parent 4e5070c commit bba6b77
Show file tree
Hide file tree
Showing 78 changed files with 85,131 additions and 85,022 deletions.
6 changes: 4 additions & 2 deletions doc/reference/dev/bootstrap.md
Original file line number Diff line number Diff line change
Expand Up @@ -171,14 +171,16 @@ bootstrap modules (e.g. because of a bug fix).
This can be accomplished with the following incantations in `$GERBIL_SRCDIR/src`:

```
$ cd src
# nuke the old bootstrap
$ rm -rf bootstrap/*
# copy the builtin ssxi module
$ mkdir bootstrap/gerbil
$ mkdir -p bootstrap/gerbil
$ cp gerbil/prelude/builtin.ssxi.ss bootstrap/gerbil
# compile the bootstrap with the current compiler
# compile the bootstrap with the current installed compiler
$ gxc -O -d bootstrap -s -S gerbil/prelude/core.ss gerbil/runtime/{gambit,util,table,control,system,c3,mop,error,interface,hash,thread,syntax,eval,repl,loader,init}.ss gerbil/runtime.ss gerbil/expander/{common,stx,core,top,module,compile,root,stxcase}.ss gerbil/expander.ss gerbil/compiler/{base,compile,optimize-base,optimize-xform,optimize-top,optimize-spec,optimize-ann,optimize-call,optimize,driver,ssxi}.ss gerbil/compiler.ss gerbil/prelude/gambit.ss
```

Expand Down
116 changes: 58 additions & 58 deletions src/bootstrap/gerbil/compiler/base__0.scm

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading

0 comments on commit bba6b77

Please sign in to comment.