Commit Graph

477 Commits (21aeda1324609a89d1999ebda4af04bbf49a255e)

Author SHA1 Message Date
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