Commit Graph

31 Commits (31ecc5ef8629e1eb18ab83cb5bd98ed61eebb4cc)

Author SHA1 Message Date
John Benediktsson 31ecc5ef86 stack-checker: using cleanup. 2015-07-31 20:41:46 -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
Doug Coleman 8fc2ecc281 stack-checker.alien: We just want to track callbacks to see if we leak them, but not actually dispose of them yet. Fixes #1151. 2014-10-09 09:56:28 -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
Björn Lindqvist 3f65984055 stack-checker.alien: use free-callback as a destructor when creating
callbacks

+ tests proving it works. now in case you create temporary callbacks you
can enclose them in with-destructors and it will just work(tm).
2014-09-29 07:30:21 -07:00
Doug Coleman 1c3deddf61 issue #358: Rename all of the words depends-on-* to add-depends-on* 2012-06-21 08:35:45 -07:00
Doug Coleman ff69e2f240 Rename c-type to lookup-c-type. Fixes #230. 2011-10-24 14:37:24 -07:00
Doug Coleman 8504b17aad Rename spread>quot to deep-spread>quot, and spread>quot-shallow to shallow-spread>quot. 2011-10-02 20:25:39 -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 3323284db4 stack-checker.alien: get a bit more inlining going with callbacks, to expose another bug 2010-09-05 21:27:39 -07:00
Slava Pestov 723d780703 stack-checker.alien: generate a declaration for input parameter types 2010-07-30 15:50:05 -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 7c85fdc1e5 stack-checker.alien: callback and assembly quotations can be callables 2010-05-19 00:31:46 -04:00
Slava Pestov 1834241e5a alien.libraries, stack-checker.alien: check user inputs more carefully to ensure that invalid ABI descriptors don't slip through and break random stuff (reported by prunedtree) 2010-05-18 18:46:31 -04:00
Slava Pestov 5b48cd2a63 FFI rewrite part 5: return value boxing and callback parameter boxing now uses vregs; simplify return value unboxing 2010-05-16 03:43:23 -04:00
Slava Pestov 42b0d456cd Refactor x86-32 stack cleanup logic 2010-05-12 02:09:11 -04:00
Slava Pestov 7316d41226 FFI rewrite part 2: use ##peek and ##replace instructions to access stack 2010-05-09 23:26:43 -04:00
Slava Pestov ed40eb4239 cpu.x86.32: cleanups and fixes to make fastcall and thiscall callbacks work 2010-04-10 16:54:17 -07: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
Slava Pestov 23a1f0ed8c alien: some code cleanups and fixes 2010-02-23 01:28:56 +13:00
Slava Pestov eb3f8632dd stack-checker.alien: now that C types are words, the compiler can add dependencies on them when compiling alien words. This triggers the necessary recompilation when C types are redefined 2010-02-22 21:32:41 +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
Slava Pestov ba5b90e063 Change how non-volatile register preservation is done in alien callbacks, with the aim of fixing callbacks on PowerPC, and to eventually eliminate assembly code from VM
- Simplify calculation of offset in relocation table
- Open-code %alien-callback
- Remove magic_frame hack from context objects
- Move magical return instruction from optimizing compiler backend into callback entry stub
2010-01-03 01:11:51 +13:00
Slava Pestov ea36783fb3 Fix bootstrap 2009-11-13 07:55:47 -06:00
Slava Pestov 107c96f642 vm: code heap compaction at runtime using compact-gc primitive 2009-10-16 11:39:35 -05:00
Joe Groff 3b4330fcf6 get things to a point where they bootstrap again 2009-09-15 21:43:18 -05:00
Slava Pestov 7cf4e608e5 alien: move code for supporting CONSTANT: foo 123 { "int" foo } C types into one place instead of the old scattershot approach 2009-08-27 21:49:25 -05:00
Doug Coleman 8b7fcce399 update code for usages of add-library 2009-03-25 23:00:19 -05: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 2445a83cb9 Clean up recursive-state usage 2008-11-03 03:06:11 -06:00
Slava Pestov a5ff214d67 More load fixes 2008-08-12 03:38:56 -05:00