John Benediktsson
8f6ac5d457
Revert "hash-sets,hashtables: make it so the array backing the hash is non-empty"
...
This reverts commit 6f10f06c27
.
2016-10-06 11:18:41 -07:00
John Benediktsson
db46b16d10
Revert "hash-sets,hashtables: improved key@ word"
...
This reverts commit 70c7f9e029
.
2016-10-06 11:18:35 -07:00
Björn Lindqvist
6f10f06c27
hash-sets,hashtables: make it so the array backing the hash is non-empty
...
Commit 70c7f9e029
made it so the code
assumes the array is not empty. But it can be empty if the hashtable is
created using "hashtable new" and then it can crash because it reads
uninitialized memory. Setting the initial of the array slot to
a valid hash-array should fix that.
2016-10-05 19:19:39 +02:00
Björn Lindqvist
78d9065db0
VM: UAP_SET_TOC_POINTER appears to be a noop on all platforms
2016-09-29 07:14:30 +02:00
Björn Lindqvist
9eab4b5652
VM: make visit_instruction_operands() skip over uninitialized blocks
...
It will crash otherwise when compacting the code heap.
2016-09-29 06:35:35 +02:00
Björn Lindqvist
9e4a520862
compiler.test: this word is not used
2016-09-29 03:29:14 +02:00
Björn Lindqvist
603f5f9bbf
VM: better? comment for uninitialized_blocks
2016-09-28 20:38:52 +02:00
Björn Lindqvist
91843ef22d
VM: removing end_gc()
2016-09-28 05:22:32 +02:00
Björn Lindqvist
8899914697
VM: better start_gc_again() code
2016-09-28 05:20:12 +02:00
Björn Lindqvist
c42c7aabbc
command-line,tools.deploy.shaker: removes refs to executable which i forgot
2016-09-27 00:31:35 +02:00
Björn Lindqvist
d18fbb1678
benchmark: fix benchmark selection so it works like tools.test
2016-09-26 10:35:42 +02:00
Björn Lindqvist
c6faf98c86
VM: return the loop, it is needed for best performance
2016-09-26 05:16:33 +02:00
Björn Lindqvist
da670c053f
command-line: executable symbol isn't needed, vm-path is better
2016-09-25 23:37:04 +02:00
Björn Lindqvist
e32e45e590
benchmark: make it so you can select benchmarks to run
...
e.g: ./factor -benchmarks="benchmark.gc1 benchmark.gc2" extra/benchmark/benchmark.factor
2016-09-25 20:47:09 +02:00
Björn Lindqvist
a6df4168af
bootstrap.layouts: sync note in comments
2016-09-25 20:10:16 +02:00
Björn Lindqvist
70c7f9e029
hash-sets,hashtables: improved key@ word
...
Don't need to check the length of the backing array because it can be
assumed to be > 0. That should make hash lookups a little faster.
2016-09-25 20:07:08 +02:00
Björn Lindqvist
d71bd83f57
VM: removing the 1-arg overload of iterate() (better to be explicit about the fixup)
2016-09-22 17:03:38 +02:00
Björn Lindqvist
764a604467
VM: moving initialize_code_blocks() into primitive_modify_code_heap()
2016-09-22 15:16:07 +02:00
Björn Lindqvist
f8b94c2679
VM: allot_large_object fits better in the allot.hpp file
2016-09-22 13:13:55 +02:00
Björn Lindqvist
c02d913579
VM: big refactoring removing the gc_workhorse
...
Each collector were a slot_visitor containing a gc_workhorse containing
a policy class. This commit removes the gc_workhorse and the policies
and instead "inlines" the common code in the collector bodies. So there
is more code duplication, but the control flow doesn't "jump around" so
much so it is easier to understand. It also makes the nursery gc faster
because its collection code can be optimized better without the
workhorse/policy system.
2016-09-22 13:12:59 +02:00
Björn Lindqvist
a0df88f20b
VM: renaming verify_memory_protection_error to set_memory_protection_error
...
and sets the signal_fault_addr and signal_fault_pc in the function.
2016-09-22 13:12:59 +02:00
Alexander Iljin
65a2281188
io.launcher-docs: add notes on the hidden slot usage
2016-09-20 22:51:31 +03:00
Alexander Iljin
c8126ec17e
help-docs: describe $unchecked-example
2016-09-20 22:27:02 +03:00
John Benediktsson
da6ee64786
checksums.process: change docs to use $unchecked-example.
2016-09-20 07:04:59 -07:00
Alexander Iljin
c822395597
io.launcher: hide processes created by (process-stream)
2016-09-20 06:59:43 -07:00
Alexander Iljin
85710ced87
io.launcher: add the hidden slot to the process tuple
...
Implemented on Windows only.
2016-09-20 06:59:43 -07:00
John Benediktsson
73c153fa21
checksums.process: super minor cleanup, simplify trim-head.
2016-09-19 20:20:59 -07:00
Alexander Iljin
082e59d187
checksums.process: in the process-state tuple rename proc slot to process
2016-09-19 20:18:06 -07:00
Alexander Iljin
817338360c
checksums.process: reimplement trim-hash and add tests
...
Use blank? to detect end of hash string.
2016-09-19 20:18:06 -07:00
Alexander Iljin
3cfc4c69ff
checksums-docs: add link to checksums.process-docs
2016-09-19 20:18:06 -07:00
Alexander Iljin
7bab7c3c67
checksums.process: initial commit
2016-09-19 20:18:06 -07:00
John Benediktsson
d0c083c068
jamshred.sound: re-adding bang.wav that went missing awhile back.
2016-09-19 08:16:37 -07:00
John Benediktsson
c590ad1201
globs: fix glob for literal path.
2016-09-16 17:41:31 -07:00
Björn Lindqvist
b0495b5fe3
io.backend.unix.tests: missed this none reference
2016-09-16 19:38:02 +02:00
Björn Lindqvist
96610a47a8
none: looks like this vocab isn't needed
...
Because -e="..." already terminates after evaluation so using -run=none
isn't needed.
2016-09-16 15:26:58 +02:00
Björn Lindqvist
6cced7dcbf
bootstrap.stage2: deploy-vocab is never set when running the stage2 process
2016-09-16 14:54:04 +02:00
Björn Lindqvist
8368727f8a
tools.deploy.shaker: there is no no-def-strip property
2016-09-16 14:23:01 +02:00
Björn Lindqvist
74bb9e1bc2
opengl.gl.extensions: simpler definition of gl-calling-convention
2016-09-16 06:42:50 +02:00
Björn Lindqvist
078f576769
opengl.gl.extensions: can use counter here
2016-09-16 06:38:35 +02:00
Björn Lindqvist
b2bb1f8ff4
VM: simplifying the load_image() code
2016-09-16 06:27:46 +02:00
John Benediktsson
fd801e7946
ui.tools.listener: protect vocab completion from bad vocab names.
2016-09-15 15:00:24 -07:00
Björn Lindqvist
f233e2a567
openal.alut: fixing alut so it should throw better error messages
2016-09-14 15:53:29 +02:00
Björn Lindqvist
1e96eec669
bootstrap.image: making it so special-objects isn't a global
2016-09-14 15:48:35 +02:00
Björn Lindqvist
409cf9bd3e
compiler.codegen: removing the insn-counts global
...
It created a histogram of instructins for debugging, but it is not so
useful...
2016-09-14 14:54:43 +02:00
Björn Lindqvist
3bbf421043
io.files: the paths are absolute so cwd prepend-path isn't needed
2016-09-14 14:02:11 +02:00
Björn Lindqvist
3dbec75864
vocabs.metadata.resources: updating the docs i forgot
2016-09-13 17:11:48 +02:00
Björn Lindqvist
b40e6cbd6d
vocabs.metadata.resources: new error resource-missing, if a resources.txt line doesnt match something
...
So then if files declared in resources.txt are missing, that will
hopefully be caught by the deploy process.
2016-09-13 06:07:14 +02:00
Björn Lindqvist
c23dbf0f8f
vocabs.metadata.resources: refactoring of code for gathering resources
2016-09-13 05:36:50 +02:00
Björn Lindqvist
ab7e077b1d
Docs: fixing docs & comments to work with new stack clearing
2016-09-12 02:11:51 +02:00
Björn Lindqvist
349f99661d
compiler.*: Remove the scrubbing part of the GC maps
...
Instead of generating GC maps which describe which stack locations that
are uninitialized, we emit ##clear instructions for those locations in
front of ##call-gc instructions. This makes the context root scanning
much simpler because the GC can assume that all stack slots are
initialized. It also removes the compiler.cfg.stacks.vacant pass and
seem to reduce the image size slightly because many fewer GC maps needs
to be emitted.
2016-09-11 20:34:44 +02:00