Commit Graph

398 Commits (2a8af325347d5e90ce874f706f5746cd0ddaac9b)

Author SHA1 Message Date
Doug Coleman 56720db9bd classes.builtin: Add the BUILTIN: keyword which lets builtin classes show up in source files. Probably could use save-location to allow editing, but it seemed to break things. 2013-03-10 12:05:38 -07:00
John Benediktsson 25e42f5fb6 bootstrap: make sure to rehash hash-sets also. 2013-03-07 22:04:52 -08:00
John Benediktsson 3337401551 core: cleanup USING lists. 2013-03-05 10:34:47 -08:00
John Benediktsson ce9a05fbfb bootstrap: remove old counting profiler vocab. 2013-03-01 09:18:49 -08:00
Doug Coleman 99782d4f53 kernel: Add 4dup, 4drop, and 4cleave. 2012-10-22 09:47:34 -07:00
John Benediktsson 8984e624dd bootstrap.syntax: removed deprecated ((. 2012-08-21 20:46:29 -07:00
Doug Coleman d15a2357d1 core: Throw an error when assigning a bignum to a fixnum tuple slot if the bignum doesn't fit. Fixes #594. 2012-08-03 14:59:59 -07:00
Doug Coleman 3fc0c5d1ec slots: Don't coerce flots to integers in tuple slots. Add an initial value for bignums so they can be used as tuple slot types. Fixes #593. 2012-07-30 18:16:44 -07:00
John Benediktsson aa24973542 Revert "bootstrap: words have read-only string names."
This reverts commit 0fa588820f.
2012-07-27 19:35:48 -07:00
John Benediktsson 0fa588820f bootstrap: words have read-only string names. 2012-07-27 16:44:43 -07:00
Doug Coleman cb42258144 classes:
- Allow methods to dispatch off union{ } and intersection{ } classes.
- Add not{ } anonymous-complement syntax.
- Define class-name for anonymous-union/intersection/complement and maybes, and clean up pprint.
- Change maybe: foo to maybe{ foo }
- Call sort-classes when making anonymous-union/anonymous-intersection classes so that they are canonicalized.
2012-05-03 19:45:30 -07:00
John Benediktsson 629677b772 vm: adding bignum_gcd primitive. 2012-04-05 09:17:35 -07:00
Joe Groff e87c37ca0a io.files: check argv when initing resource-path 2012-03-27 16:58:12 -07:00
Joe Groff cb3e5ac2c7 parse -resource-path= during bootstrap 2012-03-25 14:02:32 -07:00
Doug Coleman 64886491e4 bootstrap/stage1: Turn off parser-quiet? flag sooner so the files loaded in the USING: list in stage2 print a loading message. 2011-11-30 23:15:43 -08:00
Joe Groff 93e5b711a6 syntax: remove BIN: HEX: OCT: 2011-11-23 20:07:33 -08:00
Joe Groff eee483654a use radix literals 2011-11-23 19:03:40 -08:00
Doug Coleman 30ade9023c classes: add syntax for intersection{ and union{ anonymous classes. make classoid a mixin. 2011-11-22 18:49:42 -08:00
Doug Coleman 14dbf929ee classes.union: Define a maybe: word that makes a tuple that acts as an anonymous union for a type and f. Updated all the places we define UNION: ?foo foo POSTPONE: f ;. Fixes #416 and lots of headaches. 2011-11-22 01:56:13 -08:00
Joe Groff 26c7c564bf bootstrap.primitives: remove counting "profiling" 2011-11-10 16:04:42 -08:00
Joe Groff 5b43301eb6 vm: strip out call-counting profiler
This makes the separate "code" and "entry_point" fields in word and quotation redundant, so also remove them to reclaim an additional cell per word and quotation object, which should help with #318.
2011-11-10 16:01:07 -08:00
Doug Coleman be9f8a99f0 Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Joe Groff 1dc540f60e vm: reserve some more special-objects
Need a jit-safepoint object to deal with #332, and ffi-signal-handler words for immediate signal handling during FFI calls
2011-11-02 22:16:08 -07:00
Joe Groff b3c0064012 primitives: fix effect of (clear-samples) 2011-11-02 13:23:11 -07:00
Joe Groff 3c7bd83230 add sampling profiler primitives for bootstrap 2011-11-02 13:23:10 -07:00
Joe Groff 9c02c17cb8 move counting profiler to tools.profiler.counting 2011-11-02 13:23:09 -07:00
Joe Groff 4ab6d18cbd tools.profiler: rename to tools.counting-profiler 2011-11-02 13:23:06 -07:00
Slava Pestov eec7602aed Move definition of 't' from syntax to bootstrap/primitives to fix bootstrap, now that 't' really has to be a class early 2011-10-31 00:24:26 -07:00
Joe Groff cb6f175ef8 vm: dispatch signal handlers through subprimitive
We also need to save C ABI volatile registers before calling the signal handler in order to be able to reliably resume. Add signal-handler and leaf-signal-handler subprimitives to preserve volatile registers before invoking the signal handler C function.
2011-10-27 21:18:18 -07:00
Doug Coleman a7f6982354 Rename vocab to lookup-vocab 2011-10-24 06:42:54 -05:00
John Benediktsson e00d06cd09 Cleanup some uses of global [ ] bind. 2011-10-19 11:01:16 -07:00
John Benediktsson f2741b34a4 Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed. 2011-10-18 13:19:39 -07:00
Joe Groff 0c225d1e8d io.streams.c: help-lint 2011-10-17 21:23:08 -07:00
Joe Groff 3bd23a9840 bootstrap, io.streams.c: use new fread primitive
Change the fread primitive to fread-unsafe, matching the new primitive in the VM, and update the implementation of c-reader to implement stream-read-unsafe and stream-read in terms of fread-unsafe
2011-10-17 21:22:58 -07:00
John Benediktsson da21f5ca61 io.binary: make le> and be> faster (20% and 75%, respectively).
Removed primitive byte-array>bignum and digit_stream_to_bignum from vm/.
2011-10-11 21:13:30 -07:00
Doug Coleman 17e0fbe501 Remove Windows CE from core/ basis/ and build-support/
Rename the winnt singleton to windows in core/ basis/ extra/
Rename boot images winnt -> windows
Fixes #84.
2011-09-18 23:19:06 -05:00
Slava Pestov b25f21f70c Move some primitives from memory and memory.private to tools.memory.private, add data-heap and code-heap words that wrap the struct for you 2011-09-05 16:47:29 -07:00
Erik Charlebois 1ed2bc6231 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04:00
Slava Pestov b0b5f3ac97 Remove bignum>float VM primitive, and use bignum/f to implement >float on bignums instead, for a slight accuracy gain. Also, bignum/f now has a more efficient post-scaling algorithm to break the circular dependency on bignum>float 2010-11-24 22:41:15 -08:00
Slava Pestov e0e09234cf Rename get-fpu-state entry point to fpu-state, and fix stack-checker unit tests 2010-09-04 12:58:59 -07:00
Slava Pestov 6617eca683 Fix three problems discovered by running math.floats.env tests in a loop:
- Crash if allocating error triggers a GC from a signal/SEH handler
- Crash if GC runs with floating point traps enabled on Windows
- Floating point traps didn't prettyprint properly
2010-09-02 22:57:14 -05:00
Slava Pestov 84698985ad Officially drop PowerPC port 2010-08-15 20:10:11 -07:00
Slava Pestov f3dfae04ba compiler: now that FFI has been deconcatenatized, we no longer need the special ##unary-float-function and ##binary-float-function fastpaths 2010-08-13 23:59:19 -07:00
Slava Pestov bbfb952741 Clarify documentation for resize-array, resize-byte-array, resize-string words, and remove flushable declaration since technically they don't satisfy the flushable contract (reported by Daniel Ehrenberg) 2010-06-22 15:48:48 -04:00
Doug Coleman 97c3450427 Remove system_micros from vm, implement gmt hook on windows 2010-06-16 23:39:16 -05:00
Slava Pestov fd84bb98bc strings: move string-nth primitive out of the VM and into the library 2010-05-03 17:34:12 -04:00
Doug Coleman c78628fbe9 Add callstack-bounds primitive to vm/ for use with javascriptcore library 2010-04-19 20:08:15 -05:00
Slava Pestov 775dbefdbc math.parser: expose a format-float primitive for use by formatting vocabulary 2010-04-13 21:21:28 -07:00
Joe Groff e8dc04746e catch merge conflicts in source and report them as such 2010-04-06 13:34:26 -07:00
Slava Pestov cdc4fb3b62 Get green threads working on Windows
- store stack base and limit in TIB
- set up a frame-based structured exception handler in each context's callstack
- boot.x86.32.image has now been replaced by boot.winnt-x86.32.image and boot.unix-x86.32.image
2010-04-03 20:24:33 -04:00