Commit Graph

986 Commits (c04c15c52d95f85084347a4afcad16b73e45f3be)

Author SHA1 Message Date
Slava Pestov c04c15c52d vm: update callback stub machine code at the end of compaction to prevent it from seeing an inconsistent data stack 2009-12-02 03:31:57 -06:00
Slava Pestov 8a25e8365a vm: Clean up more code duplication and rename a few methods 2009-12-02 01:17:30 -06:00
Slava Pestov 5533a43a86 vm: factor out common code between image loading and initial code block relocation 2009-12-02 00:54:16 -06:00
Slava Pestov ca7bca6738 Big cleanup of literal table and relocation-related code
- new way to iterate over instruction_operands cleans up relocation code
- move some methods out of the VM class to clean up code
- if debugging is on, die earlier if attempting to allocate inside GC
- callback heap entries are now code_blocks
- replace block_granularity with data_alignment
2009-12-02 00:48:41 -06:00
Slava Pestov 8d41693ee3 vm: growing heap no longer uses relocate_code_block() 2009-11-28 19:48:26 -06:00
Slava Pestov e33d4d265b vm: fix some typos 2009-11-27 22:54:24 -06:00
Slava Pestov 3289186df6 Merge branch 'no_literal_table' of git://factorcode.org/git/factor into no_literal_table 2009-11-27 18:33:34 -06:00
Slava Pestov 77e4430c86 Merge branch 'master' of git://factorcode.org/git/factor into no_literal_table 2009-11-27 18:32:21 -06:00
Slava Pestov 3d335474fe vm: new image relocation that doesn't use literal table 2009-11-27 17:05:08 -06:00
Slava Pestov a684164783 Fix non-tail recursive inline recursive compilation 2009-11-25 19:12:09 -06:00
Slava Pestov 0ac2a92d56 vm: new implementation of modify-code-heap that doesn't use literal tables 2009-11-25 17:20:48 -06:00
Slava Pestov 19835ab32e vm: non-optimizing compiler now compiles word definition quotations with the owner set to the word object 2009-11-24 22:44:04 -06:00
Slava Pestov 0521890f97 vm: flush icache after GC 2009-11-24 21:36:35 -06:00
Slava Pestov 49727354d1 vm: deallocate old PIC after allocating the new one to avoid having the code heap potentially point to a free block during compaction 2009-11-24 21:20:23 -06:00
Slava Pestov 3789e75e0c vm: compaction now updates the needs_fixup set 2009-11-24 19:29:59 -06:00
Slava Pestov bfa5340ea8 vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand 2009-11-23 19:17:12 -06:00
Slava Pestov e66b8673f4 vm: minor GC traces embedded pointers 2009-11-22 13:37:39 -06:00
Slava Pestov 272deedefe Fix conflict 2009-11-22 02:12:44 -06:00
Doug Coleman 37653c65c2 fix openbsd compile 2009-11-30 12:58:39 -06:00
Doug Coleman 26a9852b8c fix windows compile error 2009-11-20 04:21:21 -06:00
Slava Pestov 49abe313a3 Clean up startup/shutdown hook code 2009-11-20 00:57:49 -06:00
Doug Coleman a896eef7b4 remove sleep_micros, add sleeo_nanos to vm 2009-11-19 04:49:29 -06:00
Slava Pestov fd24ceb79a vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
Slava Pestov a7d8a35bff Fix potential assertion failure if GC was invoked while enabling profiling 2009-11-19 01:49:26 -06:00
Doug Coleman 7f4d38b4b3 vm/Config.openbsd: pass in -fno-inline-functions to work around apparent gcc bug 2009-11-18 19:06:26 -06:00
Doug Coleman addb1c90bb rename millis to system-millis, micros to system-micros, add nano-count 2009-11-18 15:58:48 -06:00
Doug Coleman f244eaf6f2 link against librt 2009-11-18 11:09:05 -06:00
Doug Coleman 4b9244ee85 fix current_nanos on windows 2009-11-18 11:04:46 -06:00
Doug Coleman 1861dd2705 initial commit to nanos branch to replace micros 2009-11-18 04:20:05 -06:00
Slava Pestov bd76bcd52b vm: fix problem in card marking if first block is free 2009-11-16 00:52:32 -06:00
Doug Coleman 14463be60b update vm for startup branch 2009-11-15 02:53:02 -06:00
Doug Coleman 3323072613 Merge branch 'master' into startup
Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp
2009-11-15 02:52:50 -06:00
Slava Pestov 71dad47a32 vm: record compaction events correctly 2009-11-13 09:29:21 -06:00
Slava Pestov eb165a5450 Instead of bumping the definition counter every time in the VM, bump it only if stack effects changed or macros were redefined 2009-11-13 03:52:14 -06:00
Slava Pestov 06fb247b8c Invalidate inline caches used by call( and execute( when words are redefined 2009-11-12 16:09:07 -06:00
Slava Pestov 61f1f3b473 Revert "Revert "vm: faster allocation in tenured space and code heap. If small free list exhausted, allocate a 1kb block and split it up instead of searching larger free lists""
This reverts commit 81a68ebd36.
2009-11-11 19:33:50 -06:00
Slava Pestov 585a1a7fbe vm: fix fencepost error in write barrier on large object allocation; fixes benchmark.sort crash 2009-11-11 19:31:18 -06:00
Slava Pestov 81a68ebd36 Revert "vm: faster allocation in tenured space and code heap. If small free list exhausted, allocate a 1kb block and split it up instead of searching larger free lists"
This reverts commit 9af2fa1957.
2009-11-11 05:47:22 -06:00
Slava Pestov 21c165190c vm: fix GC safety issue in callers of unbox_array_size(), and change how disable-gc-events works so that it doesn't make a byte array that's too large 2009-11-11 05:21:03 -06:00
Slava Pestov 68f3087c1c Faster identity-hashcode primitive; fast path now opencoded by the compiler 2009-11-11 02:27:19 -06:00
Slava Pestov 4168ffbcee New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov 9af2fa1957 vm: faster allocation in tenured space and code heap. If small free list exhausted, allocate a 1kb block and split it up instead of searching larger free lists 2009-11-10 20:19:29 -06:00
Slava Pestov 07b56b9806 vm/contexts: cleanup 2009-11-08 19:44:18 -06:00
Slava Pestov 371ff1498d vm: minor cleanup 2009-11-08 06:08:17 -06:00
Samuel Tardieu 1d21953f95 Add parentheses to prevent GCC warning 2009-11-08 02:01:48 +01:00
Slava Pestov c434201b33 vm: eliminating literal table work in progress 2009-11-07 16:16:09 -06:00
Slava Pestov e150707ec5 vm: on 32-bit, the largest free block size was only 512mb, leading to weird errors if the heap grew beyond this. eliminate this limit 2009-11-06 08:44:36 -06:00
Slava Pestov 2f8ba13da0 vm: faster data_root and <array> primitive 2009-11-06 05:30:37 -06:00
Slava Pestov e3d2f4dbfb vm: report true size of mark stack 2009-11-06 04:15:55 -06:00
Slava Pestov 3e112981b9 vm: fix crash if all-instances primitive triggers a GC 2009-11-06 01:41:11 -06:00