Commit Graph

992 Commits (2f024f8b5ca510489a310c1aed3ab13fbf2775d0)

Author SHA1 Message Date
Slava Pestov 998cc59dbc vm: PowerPC fixes 2009-12-02 16:24:42 -06:00
Slava Pestov d76d49d6cd Fix typo in instruction_operand::load_value_masked() 2009-12-02 09:24:23 -05:00
Slava Pestov 514043eb14 vm: fix instruction_operand::load_value() for PowerPC relocation classes 2009-12-02 09:20:33 -05:00
Slava Pestov 066d2836ca Get modify-code-heap working if stack traces are stripped (but then it won't update existing code blocks), and rename code_heap::code_heap_free() to code_heap::free() 2009-12-02 05:27:48 -06:00
Slava Pestov eb840dcf41 RT_HERE now takes its argument from the literal table rather than the parameter table, reducing image size further 2009-12-02 04:55:48 -06:00
Slava Pestov 68c09f0e93 Split literal table into literal and parameter tables, literal table is discarded after code block initialization 2009-12-02 04:28:15 -06:00
Slava Pestov 147edb1ce9 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 d49c86ba11 vm: Clean up more code duplication and rename a few methods 2009-12-02 01:17:30 -06:00
Slava Pestov d664507b36 vm: factor out common code between image loading and initial code block relocation 2009-12-02 00:54:16 -06:00
Slava Pestov c6602bda27 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 260cc9e2ff vm: growing heap no longer uses relocate_code_block() 2009-11-28 19:48:26 -06:00
Slava Pestov 9a79a6253c vm: fix some typos 2009-11-27 22:54:24 -06:00
Slava Pestov 333c7654ae 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 b683ecaa74 Merge branch 'master' of git://factorcode.org/git/factor into no_literal_table 2009-11-27 18:32:21 -06:00
Slava Pestov 58c21a1a11 vm: new image relocation that doesn't use literal table 2009-11-27 17:05:08 -06:00
Slava Pestov bd02eef38e Fix non-tail recursive inline recursive compilation 2009-11-25 19:12:09 -06:00
Slava Pestov 77a877789a vm: new implementation of modify-code-heap that doesn't use literal tables 2009-11-25 17:20:48 -06:00
Slava Pestov 4ebaf956c3 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 73e105bfc4 vm: flush icache after GC 2009-11-24 21:36:35 -06:00
Slava Pestov b09d6ef586 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 bfd4cce364 vm: compaction now updates the needs_fixup set 2009-11-24 19:29:59 -06:00
Slava Pestov 001a3f2847 vm: mark sweep now traces code block references; rename embedded_pointer to instruction_operand 2009-11-23 19:17:12 -06:00
Slava Pestov b28619ce2f vm: minor GC traces embedded pointers 2009-11-22 13:37:39 -06:00
Slava Pestov 57fe0dea48 Fix conflict 2009-11-22 02:12:44 -06:00
Doug Coleman 6b780f5843 fix openbsd compile 2009-11-30 12:58:39 -06:00
Doug Coleman bce084ac12 fix windows compile error 2009-11-20 04:21:21 -06:00
Slava Pestov 24c3ddbbde Clean up startup/shutdown hook code 2009-11-20 00:57:49 -06:00
Doug Coleman 987602235e remove sleep_micros, add sleeo_nanos to vm 2009-11-19 04:49:29 -06:00
Slava Pestov 2e3207b590 vm: fix compilation with DEBUG=1 2009-11-19 02:08:05 -06:00
Slava Pestov f47b72d98b Fix potential assertion failure if GC was invoked while enabling profiling 2009-11-19 01:49:26 -06:00
Doug Coleman 251ebb7f91 vm/Config.openbsd: pass in -fno-inline-functions to work around apparent gcc bug 2009-11-18 19:06:26 -06:00
Doug Coleman 6f7ec206a1 rename millis to system-millis, micros to system-micros, add nano-count 2009-11-18 15:58:48 -06:00
Doug Coleman 0145f0f860 link against librt 2009-11-18 11:09:05 -06:00
Doug Coleman 60d8ef22b8 fix current_nanos on windows 2009-11-18 11:04:46 -06:00
Doug Coleman b4206f5252 initial commit to nanos branch to replace micros 2009-11-18 04:20:05 -06:00
Slava Pestov cf35ffb126 vm: fix problem in card marking if first block is free 2009-11-16 00:52:32 -06:00
Doug Coleman 51e21a6aa8 update vm for startup branch 2009-11-15 02:53:02 -06:00
Doug Coleman cc194416f9 Merge branch 'master' into startup
Conflicts:
	core/bootstrap/primitives.factor
	vm/run.hpp
2009-11-15 02:52:50 -06:00
Slava Pestov 4c268f2600 vm: record compaction events correctly 2009-11-13 09:29:21 -06:00
Slava Pestov 86da8ebed9 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 cba12eae37 Invalidate inline caches used by call( and execute( when words are redefined 2009-11-12 16:09:07 -06:00
Slava Pestov 9a475570e4 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 c2b3d6b894 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 5169dddc40 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 2c8f67851e 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 2afd7ce244 Faster identity-hashcode primitive; fast path now opencoded by the compiler 2009-11-11 02:27:19 -06:00
Slava Pestov 064c00f78d New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Slava Pestov 4162ee2127 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 cb6552ae6e vm/contexts: cleanup 2009-11-08 19:44:18 -06:00
Slava Pestov 8b52d85aed vm: minor cleanup 2009-11-08 06:08:17 -06:00