Joe Groff
|
7ba71a524e
|
Send FP trap signals to Factor as a different vm-error type
|
2009-09-06 08:44:25 -05:00 |
Joe Groff
|
36ec53a968
|
math.floats.env vocab with words to control the floating-point environment
add some functions to the VM to grab and set the fpu control register
|
2009-09-05 19:48:13 -05:00 |
Slava Pestov
|
906a0d212a
|
Detect SSE version and enable the correct set of SIMD intrinsics
|
2009-09-03 03:28:38 -05:00 |
Joe Groff
|
07ab5f006d
|
on OS X, rather than define _XOPEN_SOURCE, use the non-deprecated sys/ucontext.h header instead
|
2009-08-26 16:44:25 -05:00 |
Joe Groff
|
2a56ba0d2d
|
add -D_XOPEN_SOURCE flag to suppress ucontext deprecation errors on snow leopard. add -m32 flag when compiling 32-bit because snow leopard gcc defaults to x86_64
|
2009-08-26 16:29:55 -05:00 |
Philipp Brüschweiler
|
230061783a
|
misc small documentation fixes, some fixes for factor.vim, changed permissions of vm/* to 644
|
2009-08-10 21:33:07 +02:00 |
Slava Pestov
|
46688f960d
|
image.cpp: don't try to make code heap bigger than p->code_size since on PPC this will cause crashes if the image has a code heap of exactly 32Mb
|
2009-07-31 23:23:29 -05:00 |
Slava Pestov
|
91e5c05f40
|
debug.cpp: fep now prints return addresses in call stack dump
|
2009-07-29 19:28:58 -05:00 |
Slava Pestov
|
3fb4fc1bde
|
Improve code generation for shift word: add intrinsics for fixnum-shift-fast in the case where the shift count is not constant, transform 1 swap shift into a more overflow check with open-coded fast case, transform bitand into fixnum-bitand in more cases
|
2009-07-16 23:50:48 -05:00 |
Slava Pestov
|
baff251d1e
|
alien.libraries: add remove-library word, fix dlclose and dll-valid? VM primitives
|
2009-07-09 06:51:31 -05:00 |
Slava Pestov
|
2d231f066a
|
GC checks now save and restore registers
|
2009-06-02 18:23:47 -05:00 |
Slava Pestov
|
9e987e8642
|
Merge branch 'master' into global_optimization
|
2009-06-01 03:12:32 -05:00 |
Slava Pestov
|
b389dcf441
|
Redo compiler.codegen.fixup and get %dispatch to work
|
2009-06-01 02:32:36 -05:00 |
Slava Pestov
|
fc152ef210
|
Various improvements aimed at getting local optimization regressions fixed:
- Rename _gc to ##gc
- Absolute labels are now supported
- Generate _dispatch-label
|
2009-05-31 23:28:08 -05:00 |
Slava Pestov
|
faaccceac6
|
Fix rdtsc on Windows
|
2009-05-31 15:16:40 -05:00 |
Slava Pestov
|
617e57fc75
|
cpu.x86.features: add RDTSC support. This is a new vocabulary with words: sse2? instruction-counter count-instructions
|
2009-05-31 15:02:14 -05:00 |
Slava Pestov
|
6b2192bde0
|
Fix compile error on GCC 4.x
|
2009-05-20 20:01:21 -04:00 |
Slava Pestov
|
610b276c86
|
callstack>array primitive was not GC safe
|
2009-05-20 18:52:21 -05:00 |
Slava Pestov
|
efde9b8d10
|
callstack>array was keeping an uninitialized array around across potential GCs; add more assertions
|
2009-05-17 18:18:07 -05:00 |
Slava Pestov
|
1e6227fe68
|
os-linux.cpp: inotify wrappers should be VM_C_API
|
2009-05-13 03:49:51 -05:00 |
Slava Pestov
|
9ef162e2ef
|
More VM cleanups
|
2009-05-13 01:08:16 -05:00 |
Slava Pestov
|
69cb3dee5e
|
Fix FEP if there are too many words in the image, clean up some VM code
|
2009-05-13 00:58:54 -05:00 |
Slava Pestov
|
3987468ff3
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-12 16:23:26 -05:00 |
Slava Pestov
|
e0f4b18709
|
Link VM with OpenSSL on NetBSD otherwise it can't find some symbols
|
2009-05-12 16:23:09 -05:00 |
Slava Pestov
|
6e08e29a3a
|
Remove compiled slot from quotations since its not needed
|
2009-05-12 03:09:15 -05:00 |
Slava Pestov
|
aa3aa715be
|
Slightly more space-efficient dispatch table representation
|
2009-05-09 20:24:32 -05:00 |
Slava Pestov
|
04a70da513
|
Fix compile error in cpu-ppc.hpp
|
2009-05-08 17:41:22 -05:00 |
Slava Pestov
|
367724f41e
|
Fix Windows compile error
|
2009-05-08 15:23:44 -05:00 |
Slava Pestov
|
ace084b633
|
Need to include unistd.h
|
2009-05-08 15:15:10 -05:00 |
Slava Pestov
|
3bf8134476
|
VM cleanup: replace some #defines with constants and inline functions
|
2009-05-08 15:05:55 -05:00 |
Slava Pestov
|
5c4bb80bc3
|
Update PowerPC %jump and %dispatch-label, and add PIC-related functions to cpu-ppc.hpp
|
2009-05-07 19:47:38 -05:00 |
Slava Pestov
|
3591f6c684
|
Count megamorphic cache hits
|
2009-05-07 14:26:08 -05:00 |
Slava Pestov
|
d7b40d72a0
|
Code cleanups
|
2009-05-07 12:33:31 -05:00 |
Slava Pestov
|
318552ba60
|
Fix tail call PICs on x86-64
|
2009-05-06 22:44:30 -05:00 |
Slava Pestov
|
4915e1ced7
|
Clean up bootstrap.image, and implement new calling convention for tail calls; tail call sites now have PICs
|
2009-05-06 22:04:01 -05:00 |
Slava Pestov
|
12a34d81f7
|
JIT now supports multiple relocations per code template. This simplifies non-optimizing compiler backends
|
2009-05-06 20:04:49 -05:00 |
Slava Pestov
|
581d017b46
|
Working on inline caching for tail call sites
|
2009-05-06 19:22:22 -05:00 |
Slava Pestov
|
49409b4d8c
|
Working on PowerPC backend
|
2009-05-06 15:39:03 -05:00 |
Slava Pestov
|
867ff51b83
|
Remove some unused constants and update an obsolete comment
|
2009-05-06 14:57:17 -05:00 |
Slava Pestov
|
a961e17ef1
|
Add new RC_ABSOLUTE_PPC_2 relocation type
|
2009-05-05 20:56:23 -05:00 |
Slava Pestov
|
58d0e17936
|
Fix bool type; its actually 1 byte not 4 in structs. Bug reported by jedahu
|
2009-05-05 18:37:40 -05:00 |
Slava Pestov
|
be207afe9a
|
Fix VM compile error
|
2009-05-05 16:19:13 -05:00 |
Slava Pestov
|
8d5d1b8bb5
|
Fix VM code to export the right symbols on Windows
|
2009-05-05 15:55:41 -05:00 |
Slava Pestov
|
3295c54bff
|
Remove debug messages from VM
|
2009-05-05 14:27:22 -05:00 |
Slava Pestov
|
56597b65f4
|
VM now compiles with GCC 3.4 on Windows
|
2009-05-05 14:17:02 -05:00 |
unknown
|
cc9ac345fa
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-05 13:03:43 -05:00 |
unknown
|
6e26c7b554
|
Fixing compile errors on Windows
|
2009-05-05 13:03:24 -05:00 |
Slava Pestov
|
53db9d737a
|
Change (void) to ()
|
2009-05-05 11:33:35 -05:00 |
Slava Pestov
|
786b9096e2
|
Store forwarding table off to the side instead of in the code block; saves one cell per code block
|
2009-05-05 11:07:20 -05:00 |
Slava Pestov
|
12de56c41e
|
Fix botched replace all in VM source, clean up image saving code, and fix save-image-and-exit to actually call (save-image-and-exit) instead of (save-image)
|
2009-05-05 10:29:22 -05:00 |
Slava Pestov
|
029d93a838
|
Make walker work better with call( and breakpoints which are nested inside combinators
|
2009-05-05 09:12:32 -05:00 |
Slava Pestov
|
0682c3da39
|
Some VM fixes
|
2009-05-04 15:11:31 -05:00 |
sheeple
|
dbc245729c
|
use eg++ on openbsd
|
2009-05-04 11:48:46 -05:00 |
Slava Pestov
|
fb5b48c71a
|
Fix some test failures
|
2009-05-04 09:44:26 -05:00 |
Slava Pestov
|
fb9086d191
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-04 08:31:56 -05:00 |
Slava Pestov
|
f812f70473
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-04 09:08:46 -04:00 |
Slava Pestov
|
7a80307b52
|
Fix problem caused by different behavior of GCC 4.0 -vs- 4.3
|
2009-05-04 09:08:33 -04:00 |
Samuel Tardieu
|
f3a9234422
|
Make the primitives array const
|
2009-05-04 14:45:15 +02:00 |
Samuel Tardieu
|
1b0db9623b
|
Do not lower primitives to "void*" to get better compiler checking
|
2009-05-04 14:32:09 +02:00 |
Slava Pestov
|
a9782a2e64
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-04 07:19:40 -05:00 |
Slava Pestov
|
708c8b50ff
|
Config.freebsd fix
|
2009-05-04 07:19:32 -05:00 |
Slava Pestov
|
af5a7b537e
|
Attempt to fix gcc 4.5.0 compile error
|
2009-05-04 07:11:00 -05:00 |
Slava Pestov
|
2bfde0250e
|
Fixing some build issues on Linux with GCC 4.3
|
2009-05-04 08:00:06 -04:00 |
Slava Pestov
|
2772473d1c
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-05-04 06:43:36 -05:00 |
Slava Pestov
|
28cb6ea5c3
|
NetBSD build fix
|
2009-05-04 06:43:20 -05:00 |
Slava Pestov
|
abf7912ae7
|
Cleanups
|
2009-05-04 05:07:14 -05:00 |
Slava Pestov
|
8872c40b1e
|
The great type renaming
|
2009-05-04 04:50:24 -05:00 |
Slava Pestov
|
edecac508e
|
Use C++ namespaces
|
2009-05-04 01:46:13 -05:00 |
Slava Pestov
|
8e17e0a01e
|
VM: use better abstractions for tagged pointers, eliminate get()/set() stuff, clean up array, string, and byte-array element access
|
2009-05-04 01:00:30 -05:00 |
Slava Pestov
|
ec28b1ef85
|
Various VM cleanups, new approach for bignum GC root registration
|
2009-05-03 05:48:03 -05:00 |
Slava Pestov
|
e3592ca8f6
|
Clean up untag_* and tag_* inline functions in favor of more idiomatic C++
|
2009-05-02 20:47:29 -05:00 |
Slava Pestov
|
b923d548cf
|
Move vmpp to vm
|
2009-05-02 20:37:18 -05:00 |
Slava Pestov
|
982d409a8b
|
Fix VM compilation on Windows
|
2009-05-01 02:01:43 -05:00 |
slava
|
b8b7d3861b
|
Fix some compiler warnings
|
2009-04-30 23:50:53 -04:00 |
Slava Pestov
|
d93514d47d
|
Merge branch 'master' of git://factorcode.org/git/factor
|
2009-04-30 21:13:36 -05:00 |
Slava Pestov
|
b20ed595c4
|
Remove obsolete comment
|
2009-04-30 19:47:08 -05:00 |
Slava Pestov
|
742d574162
|
Non-optimizing compiler doesn't need to optimize 'dispatch' primitive anymore since its rarely used
|
2009-04-30 19:42:08 -05:00 |
Slava Pestov
|
7be231f6f8
|
Clean up code duplication in quotations.c
|
2009-04-30 19:07:13 -05:00 |
Slava Pestov
|
f9ec0a07c5
|
Fix PICs for x86-64
|
2009-04-30 18:00:49 -05:00 |
Doug Coleman
|
674bb9a4d5
|
remove error_message from windows vm
|
2009-04-30 09:36:01 -05:00 |
Slava Pestov
|
d6444e742c
|
Fix comment
|
2009-04-30 07:06:23 -05:00 |
Slava Pestov
|
5bc63fc237
|
At the end of a compilation unit, all PICs become dead so add them to the free list immediately instead of having them waste space until the next GC.
Similarly, when a PIC transition occurs, add the old PIC to the free list immediately.
Remove an unused function update_code_heap_roots()
|
2009-04-30 05:59:44 -05:00 |
Slava Pestov
|
5fb5c19d61
|
Machine code is now stored in a byte array instead of an array for add_code_block()
|
2009-04-30 04:34:35 -05:00 |
Slava Pestov
|
515c619202
|
Non-optimizing compiler now open-codes megamorphic dispatch fast path
|
2009-04-30 03:37:07 -05:00 |
Slava Pestov
|
fc4894fbdf
|
Replace ratio and complex built-in types with tuples defined in the library. This frees up two lo-tags, so move array and quotation over to these tags and update compiler for new tags
|
2009-04-30 00:27:35 -05:00 |
Slava Pestov
|
62db617927
|
Get rid of two instructions from tag pics and one instruction from all others
|
2009-04-29 22:24:28 -05:00 |
Slava Pestov
|
bd186b6320
|
Eliminate 3 instructions from PIC fast path
|
2009-04-29 21:32:05 -05:00 |
Slava Pestov
|
ae22b345ec
|
PIC -> megamorphic transition now has correct semantics within compilation units
|
2009-04-29 19:50:50 -05:00 |
Slava Pestov
|
02bd4f3f00
|
PICs now pass the method table around instead of extracting it from the generic word body. This gels better with how compilation units are supposed to work
|
2009-04-29 19:39:43 -05:00 |
Slava Pestov
|
a26947ba2e
|
Remove obsolete -mtune=pentium4 compile flag
|
2009-04-28 23:05:42 -05:00 |
Slava Pestov
|
9243316489
|
Debugging inline caching
|
2009-04-28 23:05:18 -05:00 |
Slava Pestov
|
dfcbd206b6
|
Fix -pic command line switch, and enable PICs in user-space
|
2009-04-28 18:06:10 -05:00 |
Slava Pestov
|
c15a4c1c5a
|
Add new relocation type for call sites which may be replaced by ICs
|
2009-04-28 17:53:14 -05:00 |
Slava Pestov
|
5f6c074edd
|
Split up types.c/h into smaller files, remove optimized slot from F_WORD struct
|
2009-04-28 17:26:11 -05:00 |
Slava Pestov
|
e8008af5d0
|
inline-cache-miss primitive now jumps to the new stub
|
2009-04-28 16:58:38 -05:00 |
Slava Pestov
|
3985b18026
|
Add -pic= command line argument
|
2009-04-28 16:58:19 -05:00 |
Slava Pestov
|
e940f6fd8b
|
Add method dispatch statistics
|
2009-04-28 16:58:05 -05:00 |
Slava Pestov
|
bd1b6be732
|
Remove some unused macros
|
2009-04-28 04:03:11 -05:00 |
Slava Pestov
|
4d10105802
|
Working on inline caching
|
2009-04-28 03:48:37 -05:00 |
Slava Pestov
|
d5b51df7e7
|
Clean up profiler.c using new JIT API
|
2009-04-28 00:53:32 -05:00 |