slava
fbc0f33c86
The deploy tool would coalesce equal quotations into one. This created a problem
...
for the non-optimizing compiler because if the new 'leader' quotation was not
compiled but some of the ones that it replaces were, then calls to the quotation
from contexts where they have to be compiled (eg, compiled if and dip) would no
longer work. Add a `jit-compile' primitive to compile quotations, and call it
as appropriate in `compress-quotations`.
2008-11-24 15:59:27 -06:00
Slava Pestov
a4282139dc
Add comments explaining recent changes
2008-11-24 09:27:15 -06:00
Slava Pestov
ab689c098b
Clean up direct literal code and make a first attempt at PowerPC support
2008-11-24 08:16:14 -06:00
Slava Pestov
030501d6ef
GC speedup
2008-11-24 06:49:14 -06:00
Slava Pestov
2aaf860f47
Experimental optimizations
2008-11-24 06:40:51 -06:00
Slava Pestov
8663ca2982
Fix VM for PowerPC
2008-11-24 02:03:01 -06:00
Slava Pestov
d86524f4bc
Non-optimizing compiler now compiles dip, 2dip, 3dip, if, with direct branches instead of indirect branches. 8% bootstrap time improvement on Core Duo 2
2008-11-24 00:23:17 -06:00
Slava Pestov
1d6e389d18
Fixing walker, adding traceback tests
2008-11-23 21:40:54 -06:00
Slava Pestov
65b89eea9e
Fix compile error
2008-11-23 04:46:15 -06:00
Slava Pestov
7788b3e0db
Merge branch 'master' into microseconds
2008-11-23 03:06:32 -06:00
Slava Pestov
a4d9cdfeb3
Refactor all usages of >r/r> in core to use dip, 2dip, 3dip
...
Non-optimizing compiler now special-cases dip, 2dip, 3dip following a
literal quotation: this allows us to break the dip/slip meta-circle
without explicit calls to >r/r>
2008-11-23 02:44:56 -06:00
Slava Pestov
f1b95c0038
Fix .c command in FEP
2008-11-22 19:57:06 -06:00
Slava Pestov
1b091b5a26
Reuse F_CONTEXT instances used for FFI callbacks: 60x speed improvement on benchmark.fib6
2008-11-21 23:13:14 -06:00
Slava Pestov
322d115d2e
/mod didn't handle overflow correctly
2008-11-21 05:18:55 -06:00
Slava Pestov
27503bf67f
Faster /mod and /i primitives
2008-11-21 01:54:45 -06:00
Doug Coleman
3ea773fa80
remove UNKNOWN test
2008-11-19 16:10:00 -06:00
Slava Pestov
8819f23312
Replace millis primitive with micros primitive
...
Add millis as a library word
sleep now takes either a duration or a microsecond count; code using durations doens't need to be updated, code using millisecond counts updated to use durations for the most part
2008-11-19 01:50:05 -06:00
U-SLAVA-DFB8FF805\Slava
2ffecd3acc
Fix VM compile on 32-bit Windows
2008-11-18 18:51:52 -06:00
Slava Pestov
7fd0a27c0d
VM no longer uses printf since format string directives are not portable between Win64 and everything else...
2008-11-18 18:21:42 -06:00
Slava Pestov
d6dd9ea2a3
Add workaround for Windows bttray.exe issue
2008-11-17 21:21:57 -06:00
unknown
ddd28c7d12
Fix Win64 type issue
2008-11-17 18:44:06 -06:00
Slava Pestov
14246fde37
Better FFI unit tests expose a new problem
2008-11-17 12:23:44 -06:00
Slava Pestov
63d109cc04
Remove unused F_CURRY struct from layouts.h
2008-11-16 11:49:32 -06:00
Slava Pestov
cfa82cb474
New calling convention for VM primitives:
...
instead of the Factor side passing the stack pointer as the first parameter, and having the VM save it to stack_chain->top, we instead have the Factor side save it. Eliminates a lot of crud in the VM
2008-11-13 03:20:34 -06:00
Slava Pestov
cdb94e4c62
Word constructor was not invoking relocation on the profiled block, so words constructed while profiling was on could not be executed. This prevented profiling of PEGs
2008-11-11 23:07:40 -06:00
Slava Pestov
abc3915387
Fix x86-32 VM compilation; was using a 64-bit reg on accident
2008-11-08 21:06:51 -06:00
Slava Pestov
fdbea06e27
Fix compile warning
2008-11-08 20:40:09 -06:00
unknown
359fb6e518
VM fixes for Win64 calling convention
2008-11-08 20:32:23 -06:00
unknown
7365959f01
Starting work on Win64 port
2008-11-07 20:33:32 -06:00
unknown
e45df2e89c
Fix bignums for Win64
2008-11-07 20:25:31 -06:00
Slava Pestov
c2117d4046
make macosx-ppc now compiles a ppc binary on intel mac os; it doesn't work properly in rosetta though
2008-11-06 03:37:10 -06:00
Slava Pestov
7741096bff
Tweak PPC register usage; gcc doesn't like it when you mess with r31 for some reason
2008-11-06 03:36:46 -06:00
Slava Pestov
cc879fa9b7
Tuple layouts are now arrays, instead of built-in types. The superclass
...
array is now part of the tuple layout object itself, and class hashcodes
are stored alongside class words there. This removes 2 indirections when
reading a superclass, and 3 when reading a superclass hashcode.
2008-11-05 22:20:29 -06:00
Slava Pestov
2239f4fb99
More work on PowerPC backend; change register usage, free up some more integer and float regs (untested)
2008-11-05 04:20:35 -06:00
U-SLAVA-DFB8FF805\Slava
72b34c7b47
Fix visibility of check_sse2 symbol; DDLEXPORT doesn't work in gas source
2008-11-04 00:04:18 -06:00
Slava Pestov
00fc4eb179
Fix Windows bootstrap: check_sse2 was not DLLEXPORT
2008-11-03 07:27:14 -06:00
Slava Pestov
44a2499c17
fixnum-shift-fast and fixnum-mod subprimitives
2008-11-03 01:18:35 -06:00
Slava Pestov
804c6f93ea
Fix x86.32
2008-10-31 21:07:41 -05:00
Slava Pestov
461a4ddd0a
Add SSE2 detection routine
2008-10-20 05:56:39 -05:00
Doug Coleman
964961ed74
remove dead code
2008-10-19 18:13:59 -05:00
Doug Coleman
f324ceb2b0
remove some macroz
2008-10-19 16:50:11 -05:00
Doug Coleman
78a529b1c3
remove directory from the vm
2008-10-19 13:27:59 -05:00
Doug Coleman
84ec1eec1d
remove environ and os-envs primitives
2008-10-18 21:41:16 -05:00
Slava Pestov
6130aeb88f
Fix fep looping
2008-10-09 00:13:04 -05:00
Slava Pestov
ded36a2279
Fix GC bug
2008-09-28 21:55:40 -05:00
Slava Pestov
be4915ee9c
Fix save-image-and-exit bug
2008-09-19 14:44:58 -05:00
Doug Coleman
c6db662b3b
Rice is a part of every healthy diet
2008-08-05 04:38:01 -05:00
Slava Pestov
722cacddb4
Fixing some problems with returning structs by value in x86.64 FFI
2008-09-13 20:28:13 -05:00
Slava Pestov
a3d1379b8c
Fix bug with large structs passed by value on x86.64
2008-09-09 03:10:43 -05:00
Slava Pestov
e1716d92b3
Remove delegation slot
2008-09-03 03:46:56 -05:00
Slava Pestov
5a0c3e3d73
Add better error message for out of memory
2008-07-25 22:05:36 -05:00
Slava Pestov
3cea135fae
Working on PowerPC port
2008-07-14 01:57:19 -05:00
Slava Pestov
aff81d80e7
Fix walker
2008-07-13 02:29:59 -05:00
Slava Pestov
16b85df5db
Fixes and a small optiimization
2008-07-12 22:27:28 -05:00
Slava Pestov
380891943c
Better comments
2008-07-11 17:38:53 -05:00
Slava Pestov
a876005c98
Clean up non optimizing compiler, rewrite more primitives in assembly
2008-07-11 17:25:46 -05:00
Slava Pestov
70e370f69d
Fix walker
2008-07-07 19:26:58 -05:00
Slava Pestov
a8808b7087
Non-optimizing compiler now inlow inlines some primitives, this improves bootstrap time
2008-07-07 10:39:04 -05:00
Slava Pestov
b1e5346179
More EINTR handling
2008-07-06 18:28:41 -05:00
Slava Pestov
0f6ecc10cd
Fix EINTR handling in Unix stdin pipe hack
2008-07-06 04:12:46 -05:00
Slava Pestov
a9adf82e70
Fix obscure bug in profiprofiler
2008-07-05 22:19:16 -05:00
slava
db0d714eba
Output relocation data size
2008-07-05 03:07:34 -05:00
Slava Pestov
86f476a23d
Fix bug in <displaced-alien> found by Joe
2008-07-04 22:36:55 -05:00
Slava Pestov
26cc64908f
Fix compile error on FreeBSD x86.64
2008-07-04 03:23:14 -05:00
Slava Pestov
7f903365ed
Fix OpenBSD compile error
2008-07-04 01:53:38 -05:00
Slava Pestov
dc90b0014b
Fix Linux compile error
2008-07-03 21:34:37 -05:00
Slava Pestov
e0f7849b3f
Fix compile error
2008-07-03 21:12:39 -05:00
Slava Pestov
cc008e6c2c
Better error checking for image saves
2008-07-03 19:52:59 -05:00
slava
dc2c0876b6
Fix compile errors
2008-07-03 18:39:56 -05:00
Slava Pestov
ab881cbd7a
Put that in your pipe and smoke it
2008-07-03 17:44:44 -05:00
Slava Pestov
f7eecc7893
Move bit-arrays and float-arrays to extra
2008-07-02 02:03:30 -05:00
Slava Pestov
86a62c8e93
Better error message
2008-06-30 18:33:31 -05:00
Slava Pestov
92a8084f0f
Merge commit 'jcg/master'
2008-06-12 03:32:07 -05:00
Slava Pestov
8b8a3d988f
Remove dead code from VM
2008-06-12 03:07:02 -05:00
Joe Groff
7b522ee407
add XBell to xlib. workaround for Leopard linking to X11 libGL
2008-06-11 19:12:24 -07:00
Slava Pestov
765b456904
Fix profiler
2008-05-30 14:10:18 -05:00
Slava Pestov
727cfcba43
Move relocation info out of the code heap and into the data heap
2008-05-30 01:31:05 -05:00
Slava Pestov
4ef0ff1ca1
Remove unnecessary padding
2008-05-29 17:33:11 -05:00
Slava Pestov
5c1f909e44
Lame: link VM with OpenAL to avoid signal 6 on NetBSD
2008-05-22 01:17:39 -05:00
Slava Pestov
5b321c2308
Dynamically loading libssl doesn't work on OpenBSD for some reason; link VM with it
2008-05-21 16:07:41 -05:00
Slava Pestov
c123129b95
Faster GC
2008-05-10 00:42:26 -05:00
Slava Pestov
6cd0c315c6
Align generation sizes on deck boundaries
2008-05-09 20:19:13 -05:00
Slava Pestov
8c8f5fdb2c
Bigger decks and cards
2008-05-09 18:48:48 -05:00
Slava Pestov
c035f86ca2
Revert large deck change for now, fix PowerPC write barrier
2008-05-09 17:30:32 -05:00
Slava Pestov
a233349c1f
Bigger cards and decks
2008-05-09 00:09:12 -05:00
Slava Pestov
fb605aadad
Simpler write barrier
2008-05-08 23:21:46 -05:00
Slava Pestov
84924645ad
Merge branch 'master' of git://factorcode.org/git/factor
2008-05-08 16:58:55 -05:00
slava
b712478ee3
Merge branch 'master' of git://factorcode.org/git/factor
2008-05-08 15:51:10 -05:00
Slava Pestov
22a9a8b95e
More improvements to 'time' word
2008-05-07 23:09:18 -05:00
Slava Pestov
739a75f2bb
More efficient minor GC
2008-05-07 21:39:20 -05:00
Slava Pestov
1d60d722fe
Improve time word, faster card scan
2008-05-07 17:42:41 -05:00
Doug Coleman
ca1484b94c
fix ffi test
2008-04-23 17:07:37 -05:00
slava
3b5afee8db
Try to degrade gracefully if inotify is unavailable
2008-04-21 17:50:40 -05:00
Slava Pestov
9dfdc2f872
Checked in .s again, add to .gitignore
2008-04-20 23:53:44 -05:00
Slava Pestov
e9b9172a8e
VM changes for FFI encoding work
2008-04-20 06:15:14 -05:00
Slava Pestov
f48d5091c9
Faster inline allocators
2008-04-19 04:52:34 -05:00
Slava Pestov
d7763d6b71
Add another unit test
2008-04-19 02:11:30 -05:00
Slava Pestov
7516041e36
Try to fix includes for stesch
2008-04-18 16:56:47 -05:00
Slava Pestov
a8d0eecd9e
Add DLLEXPORT
2008-04-17 21:26:37 -05:00
Slava Pestov
c00f89c38b
Fix problem with callbacks
2008-04-17 04:14:42 -05:00
Slava Pestov
d44c0ffcc9
Oops
2008-04-13 12:13:09 -05:00
Slava Pestov
0a5701d868
Fix write barrier and roots problem with strings
2008-04-13 09:20:19 -05:00
Doug Coleman
07b1552d2e
fix bug with long environment variables
2008-04-11 21:37:18 -05:00
Doug Coleman
8a0909d849
fix ffi test int ffi test 36 point 5
2008-04-10 20:09:36 -05:00
Slava Pestov
9373df5c4c
Fix -generations=1
2008-04-09 17:04:09 -05:00
Doug Coleman
1a625385ce
Merge branch 'master' of git://factorcode.org/git/factor
2008-04-09 16:58:18 -05:00
Doug Coleman
2da9aa9d18
Fix Linux/PPC port
2008-04-09 16:58:55 -05:00
Doug Coleman
409d984c3c
move os_env from run to os-unix.c/os-windows.c
2008-04-09 16:57:21 -05:00
Doug Coleman
d1cc5cc650
windows environment variables
2008-04-09 00:33:29 -05:00
Doug Coleman
1da97fe13e
Merge branch 'master' of sheeple@office.stack-effects.com:factor
2008-04-09 00:08:23 -05:00
Doug Coleman
c19505cd84
set-os-env on windows
2008-04-08 23:35:28 -05:00
Doug Coleman
6c5935a3b0
add set-os-env, unset-os-env
2008-04-08 23:08:11 -05:00
Slava Pestov
37d6dc70e8
Merge branch 'master' of git://factorcode.org/git/factor
2008-04-07 20:20:14 -05:00
Slava Pestov
4c08b7dc81
Add zip word, better code-room primitive
2008-04-07 20:19:49 -05:00
Slava Pestov
3164cda6fb
Remove bogus files
2008-04-07 15:45:08 -05:00
Slava Pestov
225a0fb781
Fix Windows crash with set-os-envs
2008-04-06 23:31:53 -05:00
Slava Pestov
2c76171c8a
Fix profiler crash with large heap
2008-04-05 08:27:07 -05:00
Slava Pestov
e545c90453
Bigger nursery/aging spaces on 64 bit
2008-04-05 04:58:34 -05:00
Slava Pestov
545b8a3d05
Default nursery size is 1mb; don't double nursery and accumulation when growing data heap
2008-04-05 04:36:13 -05:00
Slava Pestov
b2cb88f497
GC: allocate large objects directly into tenured space
2008-04-05 04:01:46 -05:00
Slava Pestov
4515588b98
Fix compile error
2008-04-05 02:14:44 -05:00
Slava Pestov
6842a2829d
Fixing GC
2008-04-05 02:08:37 -05:00
Slava Pestov
3eeffbb104
Disable logging for now
2008-04-04 22:40:48 -05:00
Slava Pestov
315b467748
Add debug messages
2008-04-04 21:44:39 -05:00
Slava Pestov
5b5aaa344a
Smarter fep
2008-04-04 09:17:26 -05:00
Slava Pestov
3a374f2045
Fix amazing performance regression
2008-04-04 07:08:03 -05:00
Slava Pestov
a27fa29098
Remove type, class-hash primitives
2008-04-02 21:37:26 -05:00
Slava Pestov
7cd21081af
Don't JIT inside heap scan loop, too fragile
2008-04-02 18:50:35 -05:00
slava
01fd99fd71
Starting work on Solaris port
2008-03-29 05:30:25 -05:00
Doug Coleman
ea94662abd
NetBSD x86/64 fixes
2007-04-14 05:49:09 -05:00
Slava Pestov
e1ad21a439
Working on shapes
2008-03-26 03:57:48 -05:00
Doug Coleman
9c745c44d3
add set-priority and get-priority
...
add clear_err_no and check-errno for dealing with get-priority
2008-03-21 14:53:11 -05:00
sheeple
d1e72fd03b
make freebsd64 compile
2008-03-20 23:53:05 -05:00
Doug Coleman
67c9e2f631
make openbsd64 bootstrap
...
fix target for openbsd64
2008-03-16 15:17:11 -05:00
Doug Coleman
2f93c77e7c
add -lz
2008-03-20 15:35:35 -05:00
Doug Coleman
bdda6fc3cb
make openbsd compile with NO_UI=1
2008-03-20 12:10:43 -05:00
Slava Pestov
0c490161b4
Fix exists?
2008-03-20 00:39:32 -05:00
Slava Pestov
aec6d6f5c8
Replace (stat) with (exists?)
2008-03-19 23:29:19 -05:00
Slava Pestov
f31c521c47
Assorted bug fixes
2008-03-18 17:46:25 -05:00
Slava Pestov
20ed8ab9a2
Fix code heap compaction bug
2008-03-16 00:17:05 -05:00
Slava Pestov
05b02f3c38
Changing launcher to use new_slots
2008-03-06 20:44:52 -06:00
Slava Pestov
549a7538c7
Clean up some of Dan's code after merge
2008-03-06 15:58:05 -06:00
Slava Pestov
9d05d81491
Fix deploy size regression
2008-02-28 01:22:53 -06:00
Slava Pestov
fef5ebec01
io.files overhaul
2008-02-27 14:59:15 -06:00
Slava Pestov
4ee8a0cfa6
Better code heap
2008-02-25 20:09:52 -06:00
Eduardo Cavazos
4b92faed90
Change 'os-windows-nt.h' to reflect rename to 'factor.dll'
2008-02-25 13:10:35 -06:00
Eduardo Cavazos
b68c60488a
Dll on winnt is now 'factor.dll' instead of 'factor-nt.dll' to be
...
consistent with the binary name.
2008-02-25 13:05:11 -06:00
Eduardo Cavazos
308a5db996
Binary on winnt is now 'factor.exe' instead of 'factor-nt.exe'
2008-02-25 12:42:52 -06:00
Slava Pestov
2535436f19
Friedlier fep sequence printing
2008-02-21 17:07:05 -06:00
Slava Pestov
d657821f3e
Tested and documented all new concurrency features
2008-02-18 16:20:18 -06:00
Slava Pestov
2c6afdfee6
Working on new threads
2008-02-18 05:07:40 -06:00
Slava Pestov
de8b804abe
Fix method redefinition bug
2008-02-17 18:38:29 -06:00
Slava Pestov
0b19589630
linkage errors don't thwart compilation anymore
2008-02-16 00:54:54 -06:00
Slava Pestov
f944f2b20c
Add experimental disassembler
2008-02-14 17:56:47 -06:00
Slava Pestov
98d8621ac1
First class compose, curry is now a tuple class
2008-02-11 13:50:29 -06:00
Slava Pestov
8672ede540
Fix compilation of VM on Mac OS X
2008-02-11 00:41:58 -06:00
Slava Pestov
125e949200
Add new "refs" command to FEP, finds references to an object
2008-02-10 01:40:51 -06:00
Slava Pestov
7fbbe94d80
FEP work in progress
2008-02-09 02:19:26 -06:00
Doug Coleman
8d3ac25553
Merge git://factorcode.org/git/factor
...
Conflicts:
Makefile
2008-02-05 22:48:44 -06:00
Slava Pestov
20e4fcecda
Make OS name more consistent for extra/builder
2008-02-05 18:48:38 -06:00
Slava Pestov
ba1a958a32
Move cd and cwd primitives to native I/O, fix Windows normalize-pathname
2008-02-05 13:11:36 -06:00
Doug Coleman
480e21bc3c
Merge branch 'master' of git://factorcode.org/git/factor
2008-02-04 16:41:17 -06:00
Slava Pestov
bc2ce8a77b
Space one byte per string
2008-02-04 14:05:31 -06:00
Doug Coleman
fcbf7b4c4c
Merge git://factorcode.org/git/erg
2008-02-04 13:34:38 -06:00
Slava Pestov
0311c0a842
Remove broken optimization
2008-02-04 13:07:34 -06:00
Slava Pestov
81098989ec
Merge branch 'master' of git://factorcode.org/git/factor
2008-02-04 12:59:21 -06:00
Slava Pestov
a75afb18d7
Fix GCC error
2008-02-04 12:58:38 -06:00
Doug Coleman
bc3bf6b2b4
make factor compile on win64
2008-02-04 11:45:53 -06:00
Slava Pestov
e7722c02b7
Add unit test for float alignment
2008-02-03 17:28:57 -06:00
Slava Pestov
62bbb0597e
Fix dodgy memory management
2008-02-03 14:51:35 -06:00
sheeple
ff46bfaa96
Linux inotify support work in progress
2008-02-02 11:51:16 -06:00
sheeple
b22a40f906
inotify bindings
2008-02-02 07:02:32 -06:00
Slava Pestov
9f1bcc5d22
Fix resize-string
2008-02-01 18:36:13 -06:00
Slava Pestov
6c3d2775a9
Merge branch 'master' of git://factorcode.org/git/factor
2008-02-01 17:18:49 -06:00
Slava Pestov
3917a9472a
Implement default_vm_path() on netbsd
2008-02-01 17:14:10 -06:00
Slava Pestov
cef80543ad
Fix set-string-nth GC issue
2008-02-01 16:26:11 -06:00
Slava Pestov
d9f7acae0f
VM changes for record1 strings
2008-01-31 23:03:10 -06:00
Slava Pestov
6530057512
Starting work on record1 strings
2008-01-31 20:11:46 -06:00
Daniel Neri
118583024e
Tweak LIBS and LIBPATH for NetBSD
2008-01-30 12:10:42 +01:00
Daniel Neri
ac2fb043cf
Add NetBSD support
2008-01-30 10:57:38 +00:00
Slava Pestov
fcf5801899
Data type cleanups
2008-01-29 23:13:47 -06:00
Slava Pestov
0cd2f857fe
bit-vectors byte-vectors float-vectors
2008-01-29 15:04:26 -06:00
Slava Pestov
03db080df7
Working on new resizables
2008-01-28 18:15:21 -06:00
Slava Pestov
578ee72509
Fix conflict
2008-01-27 23:17:48 -06:00
Slava Pestov
a09e216582
Replace memory>string and string>memory with four primitives and update io.windows.nt.monitor
2008-01-26 23:38:30 -04:00
Joe Groff
e396023d51
Use [NSString UTF8String] instead of [NSString cString] in os-macosx.m to suppress deprecation warnings
2008-01-26 17:32:12 -08:00
Slava Pestov
309a1c179c
Add stderr stream; more Unix I/O work
2008-01-18 19:43:14 -05:00
Slava Pestov
c6bc074472
Simplify code heap layout
2008-01-16 15:45:04 -05:00
Slava
6c305c0532
Merge branch 'master' of git://factorcode.org/git/factor
2008-01-16 01:16:57 -05:00
Slava
112c37b990
Fix Linux and FreeBSD signal handling on x86
2008-01-16 01:16:53 -05:00
Slava Pestov
952c559b52
Faster compilation of dispatch primitive
2008-01-13 17:07:59 -05:00
Slava Pestov
a2a43e9980
New fixnum-shift primitive
2008-01-12 21:13:40 -05:00
Slava Pestov
028e0075d8
PowerPC support work in progress
2008-01-09 01:33:40 -05:00
Slava Pestov
ac5f758bce
PowerPC support work in progress
2008-01-08 17:04:45 -04:00
Slava Pestov
928c68b506
JIT improvements; simpler 'current XT' relocation logic
2008-01-07 17:14:09 -04:00
Slava Pestov
96f4f3ff40
Fix profiler
2008-01-02 23:07:25 -04:00
Slava Pestov
b7327b6228
Redo the profiler
2008-01-02 20:36:36 -04:00
Slava Pestov
6922bded81
Speed up compile-call
2007-12-30 21:34:44 -05:00
Slava Pestov
af41a0efe7
Re-implement callstack>array
2007-12-30 16:54:01 -05:00
Slava Pestov
5378c05508
Fix bootstrap
2007-12-29 22:44:25 -05:00