Commit Graph

95 Commits (9413f711b9847db6f0507d4732e9a50eac17bee6)

Author SHA1 Message Date
Björn Lindqvist 9413f711b9 VM: the JIT_PROFILING special object is never used, so rename it to
JIT_UNUSED (removing it breaks boot images)
2015-08-14 20:19:53 -07:00
Björn Lindqvist 81057c4108 VM: the context_object_count must be wrong, there are only 4 of them 2015-08-14 20:19:50 -07:00
John Benediktsson ceb75057da change ERROR: words from throw-foo back to foo. 2015-08-13 16:13:05 -07:00
Doug Coleman c21a154056 core: callstack is a builtin type and a class name. rename the *stack words that grab the current stack get-foostack to avoid the callstack builtin conflict and for better symmetry with set-foostack. 2015-08-13 10:11:59 -07:00
Doug Coleman 02008979d9 factor: Change ERROR: foo ; to define ``throw-foo`` instead of having ``foo`` throw implicitly. The old ``foo`` still throws implicitly because this is a big change to get right in one patch, but it should be removed soon. 2015-08-12 15:26:18 -05:00
John Benediktsson 4c2c8f133f vm: rename some primitives, and some cleanup.
* quot-compiled? => quotation-compiled?
* optimized? => word-optimized?
2015-07-15 11:13:52 -07:00
Doug Coleman 44e8e7b344 primitives: Change PRIMITIVE: to check that the word is in that vocabulary and the stack effect is correct.
Use PRIMITIVE: in core/ and basis/
2015-06-25 18:02:03 -07:00
Björn Lindqvist 990af22dc6 VM: renamed version and git-label to vm-version and vm-git-label. 2014-11-10 23:02:13 -08:00
Björn Lindqvist 090f4fddd5 VM: Three new special objects added to keep track of the builds version number, git label and compilation time respectively. The info is exposed in the system:version-info word and also shown in the banner during startup.
Conflicts:
	Nmakefile
	basis/ui/tools/listener/listener.factor
	core/alien/strings/strings.factor
2014-11-10 23:01:52 -08:00
Björn Lindqvist 4a96e6163b VM: new primitive (callback-room) for querying the VM about memory usage
The word works exactly like (code-room) except it looks at the memory
usage in the callback heap instead of the code heap.
2014-09-29 07:30:21 -07:00
Björn Lindqvist 4867e7bc96 VM: try and recover with a kernel error from the callback heap running out 2014-09-29 07:30:20 -07:00
Björn Lindqvist 60ffe0680e kernel: new combinator 2with = with with 2014-07-22 07:40:13 -07:00
John Benediktsson 0c3580844d kernel: remove ?execute, not used much, and a little bit confusing. 2014-06-07 09:56:47 -07:00
Björn Lindqvist 906f796094 kernel.private: add ERROR-OUT-OF-FIXNUM-RANGE on the Factor side 2014-06-07 14:36:53 +02:00
John Benediktsson 05c35ebda3 kernel: change errors to be in kernel.private. 2014-06-04 14:33:02 -07:00
Björn Lindqvist 6627a3327b kernel: symbolic constants for the various kernel errors 2014-06-04 23:16:40 +02:00
Doug Coleman 5a9e7cd374 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
Doug Coleman 3582a6c624 kernel: Add 4dup, 4drop, and 4cleave. 2012-10-22 09:47:34 -07:00
John Benediktsson 71cd7c5f81 kernel: adding "same?" which is "bi@ =". 2012-07-21 10:22:29 -07:00
Joe Groff ed24890dce io.backend.unix: init-signal-pipe function
Currently just reads off signal numbers and drops them.
2011-11-08 08:42:48 -08:00
Joe Groff d28845a1ef 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 186bf65a00 constants for special object hardcoded literals 2011-11-02 12:54:50 -07:00
Joe Groff f8ec85fd06 kernel: higher-order effects for *keep 2011-10-14 10:45:02 -07:00
Joe Groff 8feb6c68e2 kernel: add full stack effects to unless, when, when*, unless* so they give useful stack imbalance errors 2011-08-09 10:32:12 -07:00
Joe Groff 18f3df9d4a more help-lint 2010-03-09 21:02:43 -08:00
Joe Groff 17df15280e generalize stack effect of while, until, and produce 2010-03-05 23:01:22 -08:00
Joe Groff 85f30987e2 spray some polymorphic stack effects on kernel, math, and sequences 2010-03-05 00:21:10 -08:00
Slava Pestov 2afd7ce244 Faster identity-hashcode primitive; fast path now opencoded by the compiler 2009-11-11 02:27:19 -06:00
Slava Pestov 064c00f78d New identity-hashcode primitive 2009-11-10 21:18:54 -06:00
Joe Groff 6e9d369331 remove spin from core and retire it to basis/shuffle 2009-11-05 15:40:48 -06:00
Slava Pestov e4ad642134 vm: 4 bit tags, new representation of alien objects makes unbox-any-c-ptr more efficient (work in progress) 2009-11-02 04:25:54 -06:00
Joe Groff 3f15e028f7 exile roll and -roll to basis/shuffle and mark them deprecated 2009-10-30 17:11:45 -05:00
Doug Coleman 0d4b9132d7 fix a bunch of typos in docs 2009-10-21 17:40:43 -05:00
Slava Pestov 030b1b816c Add inline declarations for various assorted methods 2009-08-17 22:32:21 -05:00
Slava Pestov f6ff74596e Removing slip 2slip 3slip nslip 2009-05-10 16:39:17 -05:00
Slava Pestov ba40acda28 Merge Joe Groff's booleans vocab into kernel 2009-04-23 22:39:31 -05:00
Slava Pestov 6c0986f8b2 Add definition mixin in definitions vocab to replace hard-coded union in ui.tools.operations; add ?execute to kernel to replace dup word? [ execute ] when calls in unicode.breaks and opengl 2009-03-26 21:27:45 -05:00
Slava Pestov 356bff6424 kernel doesn't need to depend on classes.tuple.private 2009-03-23 01:18:39 -05:00
Slava Pestov be4fb1e7d9 Move call( and execute( to core 2009-03-16 20:11:36 -05:00
Samuel Tardieu 087d931c36 Remove the tail argument from do/until/while 2009-02-18 02:41:14 +01:00
Samuel Tardieu 3c859a77bf Simplify most 2009-02-18 01:56:54 +01:00
Slava Pestov a550c9874c kernel: add {bi,tri}-curry{,*,@} combinators from new_ui branch 2009-02-12 04:23:35 -06:00
Slava Pestov 7780c5d983 Fix two small typos 2009-01-27 05:05:46 -06:00
Slava Pestov af49278d3f Add 2tri* and 2tri@ combinators, clean up (3each), and fix failing unit test for 3map 2009-01-05 18:12:34 -06:00
Slava Pestov b154b21aaa Add new until combinator, and a new do word which acts like a modifier: do while, do until for loops which iterate at least once 2008-12-08 23:37:18 -06:00
Slava Pestov a56d480aa6 Various optimizations leading to a 10% speedup on compiling empty EBNF parser:
- open-code getenv primitive
- inline tuple predicates in finalization
- faster partial dispatch
- faster built-in type predicates
- faster tuple predicates
- faster lo-tag dispatch
- compile V{ } clone and H{ } clone more efficiently
- add fixnum fast-path to =; avoid indirect branch if two fixnums not eq
- faster >alist on hashtables
2008-12-06 09:16:29 -06:00
Slava Pestov e304d3c9f8 Local DCE 2008-12-04 06:02:49 -06:00
Slava Pestov c27faa3de4 Remove 3compose: nothing in core used it, and basis code can use fry 2008-12-02 00:25:23 -06:00
Slava Pestov 6466ebaed7 Add comment explaining what's going on 2008-11-23 02:46:43 -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