Commit Graph

380 Commits (5e1976633069c0be53edd4f71627667577faa363)

Author SHA1 Message Date
Slava Pestov e78121f38c Rewrite remaining fixnum primitives in assembly (work in progress) 2008-11-26 04:22:39 -06:00
Slava Pestov 826be7530e Check Mac OS X version on startup and give up if we're running something older than 10.5 2008-11-25 21:51:41 -06:00
Slava Pestov c7c1f3903f Fix performance problem: literals were being scanned too often 2008-11-25 21:27:07 -06:00
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