Björn Lindqvist
ddc5ece757
alien.*: frontend varargs support! #1677
...
alien-invoke gets an extra parameter indicating if the call uses varargs
or not. In 99.9% of the cases, the parameter should be f, but is t if
varargs are indicated. E.g
: do-printf ( fmt d -- st ) int f "printf" { c-string double } t alien-invoke ;
2016-08-10 21:34:37 +02:00
Björn Lindqvist
dee9cf0a70
alien: replacing the alien-*-error family of errors with callsite-not-compiled
...
All the errors did the same thing anyway. Also adding a summary method
to it.
2016-08-04 11:51:59 +02:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -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
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
John Benediktsson
296968580a
use assoc-reject instead of [ ... not ] assoc-filter.
2015-05-12 19:08:42 -07:00
John Benediktsson
a65a293896
core: use if* in a couple places.
2014-11-29 16:03:50 -08:00
Doug Coleman
964cbf894b
core/basis: Trim or reorganize a few using lists. Playing around with auto-use restarts and private words.
2014-10-27 13:39:30 -07:00
Björn Lindqvist
aad8d4b8d6
alien,stack-checker.alien: new word with-callback
...
Since callbacks aren't automatically deallocated this word intends to
make sure "inline" callbacks are.
2014-10-22 07:02:55 -07:00
Björn Lindqvist
5cf8c7cfba
alien,stack-checker.alien: move callback-destructor to the alien vocab
...
It can't be placed in stack-checker.alien because that vocab isn't
included in deployed images which lead to weird errors when the
destructors trigger.
2014-09-29 07:30:22 -07: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
John Benediktsson
4e72d80256
Using "same?" in more places.
2012-07-21 10:22:44 -07:00
John Benediktsson
75778c89c1
Revert "alien: these make "utf8 encode" 7-8% faster."
...
This reverts commit c9664e746b
.
2012-07-18 07:56:05 -07:00
John Benediktsson
940848a813
alien: these make "utf8 encode" 7-8% faster.
2012-07-17 22:52:37 -07:00
Doug Coleman
3ba787b277
core/basis: trim down using lists
2011-11-30 23:15:42 -08:00
Joe Groff
186bf65a00
constants for special object hardcoded literals
2011-11-02 12:54:50 -07:00
Slava Pestov
dabbe35bd9
concurrency.mailboxes: linked-thread's error reporting should still work even when debugger.threads is not loaded. This addresses part of #95
2011-10-03 00:24:37 -07:00
Slava Pestov
daf40ea0c6
Fix infinite loop and empty-dlist error when an error is thrown from a callback running in a thread other than the initial thread. This addresses part of issue #92
2011-10-02 21:59:09 -07:00
Slava Pestov
c36d73e242
Change do-callback to register the current thread with the callback, instead of busy waiting for the current callback to become the right one before returning. Fixes 100% CPU usage issue with system-alert. Thanks to Blei and ex-rzr for doing preliminary analysis of the issue
2011-04-12 21:48:54 -04:00
Slava Pestov
168dd1f825
FFI rewrite part 7: compile callback bodies with the optimizing compiler
2010-07-28 00:49:26 -04:00
Slava Pestov
67e24b1d2a
compiler.codegen: need to do name decoration with fastcall as well
2010-04-12 18:10:25 -05:00
Slava Pestov
0202c35d2a
alien: now that fastcall works better it doesn't need to be private
2010-04-10 16:57:07 -07:00
Joe Groff
553b9fcd93
make "fastcall" symbol private since it doesn't really work in all cases
2010-04-01 18:34:15 -07:00
Joe Groff
9d3326658c
alien: add singletons for thiscall and fastcall
2010-03-31 20:30:04 -07:00
Joe Groff
565e3383ab
add singletons for stdcall, cdecl, mingw abis
2010-03-31 19:17:06 -07:00
Slava Pestov
560c119cd2
vm: actually use context callstacks when running code
2010-03-26 22:44:43 -04:00
Slava Pestov
6aee6b3adc
Add context-specific special object table, generalizing catchstack_save and current_callback_save fields of context struct
2010-03-18 22:06:00 +13:00
Joe Groff
18f3df9d4a
more help-lint
2010-03-09 21:02:43 -08:00
Slava Pestov
17b095a524
Slices over specialized arrays can now be passed to C functions, written to binary output streams, and given to malloc-byte-array
2010-02-25 04:50:31 +13:00
Slava Pestov
af0ddd5985
Specialized arrays, structs and other objects responding to the >c-ptr / byte-length protocol can now be written to binary streams
2010-02-24 20:18:41 +13:00
Slava Pestov
9471fd1a33
alien: fix help lint
2010-01-07 20:54:27 +13:00
Slava Pestov
235f3238f5
Add alien-assembly form for inline assembler, works like alien-invoke except calls a user-supplied quotation instead of generating a subroutine call. Replaces FPU status control, SSE detection and read timestamp routines in vm/cpu-x86.*S
2010-01-07 17:39:22 +13:00
Doug Coleman
cc194416f9
Merge branch 'master' into startup
...
Conflicts:
core/bootstrap/primitives.factor
vm/run.hpp
2009-11-15 02:52:50 -06:00
Slava Pestov
857d0ba1fd
core: bootstrap fixes
2009-11-02 20:21:10 -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
Doug Coleman
6b6e56a179
change add-init-hook to add-startup-hook, new add-shutdown-hook word
2009-10-19 22:17:02 -04:00
Slava Pestov
107c96f642
vm: code heap compaction at runtime using compact-gc primitive
2009-10-16 11:39:35 -05:00
Slava Pestov
030b1b816c
Add inline declarations for various assorted methods
2009-08-17 22:32:21 -05:00
Slava Pestov
1040426565
Fix alien hashcode for expired aliens
2009-04-04 20:21:41 -05:00
Slava Pestov
b4a74f55a3
Add hashcode method for simple-alien; improves performance of malloc and free
2009-04-04 19:57:48 -05:00
Doug Coleman
8b7fcce399
update code for usages of add-library
2009-03-25 23:00:19 -05:00
Doug Coleman
4b275c2861
make add-library normalize-path, use libfactor-ffi-tests for testing ffi
2009-03-25 13:05:34 -05:00
Slava Pestov
be40bd33ee
New initialize-alien word
2009-02-20 20:51:13 -06:00
Slava Pestov
07caee3405
Update some existing code to use initialize
2009-02-10 16:16:12 -06:00
Slava Pestov
7ffbbb13e0
Specialized arrays can now be passed to alien functions directly, without calling underlying>> first
2009-02-06 04:36:17 -06:00
Slava Pestov
a91dee7810
Fix for native I/O backends that create callbacks in deployed apps; this affected tools.deploy.test[35] ever since run-loop multiplexer landed on OS X
2008-12-12 19:48:17 -06:00
Slava Pestov
c19f2257f4
Fix permission bits
2008-10-02 08:34:49 -05:00
Doug Coleman
57d2e5d8a8
remove accessor
2008-08-29 15:49:23 -05:00
Slava Pestov
f7eecc7893
Move bit-arrays and float-arrays to extra
2008-07-02 02:03:30 -05:00
Slava Pestov
f8fd065fc5
Initial value for alien slots is a BAD-ALIEN
2008-07-01 16:33:45 -05:00