Commit Graph

355 Commits (875357c1bf16981fb85e7bfadeac74de09dd1b51)

Author SHA1 Message Date
Doug Coleman 618330b31e factor: rename system:vm -> vm-path to differentiate it from vm:vm (which is a STRUCT:) 2015-07-20 00:10:29 -07:00
John Benediktsson 5825099745 bootstrap.image: minor cleanup. 2015-07-16 11:09:17 -07:00
John Benediktsson dc9a501040 bootstrap.image.upload: use with-resource-directory. 2015-07-16 10:39:33 -07: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 892c62e1dc factor: second stab at [ ] [ ] unit-test -> { } [ ] unit-test 2015-07-03 09:39:59 -07:00
Doug Coleman 59f3b1ea57 Revert "factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool!"
Needs a bit more work.

This reverts commit 7e54cc2824.
2015-07-02 13:47:06 -07:00
Doug Coleman 7e54cc2824 factor: rename [ ] [ ] unit-test -> { } [ ] unit-test using a refactoring tool! 2015-07-02 11:36:08 -07:00
Doug Coleman 352e5de16a core, basis, extra: Remove DOS line endings from files.
Remove whitespace from end of lines.
Add a newline to the end of each file.
2015-06-29 17:25:40 -07:00
Doug Coleman a4c5a748ad core/basis: Rename words dealing with vocabs to loaded-vocabs or disk-vocabs because it's too confusing otherwise. 2015-06-08 12:47:35 -07:00
Björn Lindqvist c2a70d18b4 bootstrap.x86: fix assembler code bug in fixnum*
Now the operands are kept in EBP and ECX and the vm-reg (EBX) is not
used unnecessarily
2015-05-25 08:42:16 -07:00
Björn Lindqvist fa190a8329 bootstrap.ppc: untested fix for #1319 for ppc 2015-05-22 12:22:28 -07:00
Björn Lindqvist 183ec83a6d VM: possible fix for #1319.
Fix for reset_context() so that the top two stack items are never
removed from the stack so if the parent->init_context(ctx) call triggers
a GC, those items are never collected.
2015-05-22 12:22:27 -07:00
Björn Lindqvist 016614747d VM: the delete_context() and reset_context() api functions can be
simplified a bit

The functions always operates on parent->ctx, so passing a context*
parameter is redundant. This enables shorter assembly code for
the (start-context-and-delete) and (set-context-and-delete) primitives.
2015-05-22 12:22:26 -07:00
Björn Lindqvist 528e9f61f3 bootstrap.x86: new words jit-call-Xarg for calling vm functions with
arguments, simplifies some assembly code
2015-05-22 12:22:25 -07:00
Björn Lindqvist 6ca83e7588 Reorganising bootstrap files
All the bootstrap.factor scripts in cpu/ are run by the bootstrap to
make boot images, but aren't used otherwise. So I think it's cleaner to
put them in one directory inside the bootstrap hierarchy.
2015-05-22 12:22:24 -07:00
John Benediktsson b366a06c41 use reject instead of [ ... not ] filter. 2015-05-12 18:50:34 -07:00
John Benediktsson a33fc84de7 help.lint.checks: re-enable leak detection. 2015-05-12 10:46:37 -07:00
Björn Lindqvist 6215561ad4 compiler.cfg.*: more docs and removing a test that isn't relevant anymore 2015-04-29 09:31:59 -07:00
Doug Coleman 1b35e19a03 bootstrap.image.upload: Use pscp on Windows for uploading boot images
since c:\ paths are treated as hostnames and the command fails.
2015-02-05 13:43:49 -08:00
John Benediktsson c0dda5c7e9 command-line: save the executable in a variable so that people don't use (command-line) directly if possible. 2014-12-23 08:12:31 -08:00
John Benediktsson 25dd9f3abb bootstrap: fix this use of (command-line). 2014-12-22 23:14:47 -08:00
John Benediktsson 025283f252 vm: store full command-line including executable first argument. 2014-12-22 22:39:52 -08:00
John Benediktsson f9e1b7c9fb bootstrap.image.download: use my-boot-image-name. 2014-11-15 16:20:02 -08:00
John Benediktsson f3a8546b23 core: get rid of some unnecessary wrappers. 2014-11-02 20:16:22 -08:00
John Benediktsson 712be93989 http.client: remove http-get* and its friends, change http-request* and with-http-request* to not check response codes. 2014-03-12 19:39:15 -07:00
John Benediktsson 435f54cf59 http.client: use new http-get* word. 2013-10-12 10:25:42 -07:00
Doug Coleman 9af269a864 bootstrap.image: Use error syntax. 2013-03-29 09:51:26 -07:00
John Benediktsson d25fb6161e bootstrap.image: 6-7% speedup to make-image. 2013-03-25 16:59:38 -07:00
Doug Coleman 5fab749dcc words: Change word -> last-word, set-word -> set-last-word. 2013-03-23 16:12:03 -07:00
John Benediktsson a9c165db4f bootstrap.image: adding make-my-image for @erg. 2012-09-21 11:35:46 -07:00
John Benediktsson 5c76cbb421 rename some words to x>sequence and sequence>x. 2012-07-23 21:28:38 -07:00
John Benediktsson 4e72d80256 Using "same?" in more places. 2012-07-21 10:22:44 -07:00
John Benediktsson 90d0951ada more use of H{ } make. 2012-07-19 11:24:45 -07:00
John Benediktsson 04320d27f4 fixing some docs. 2012-07-19 09:47:14 -07:00
John Benediktsson cbd6f2cae1 bootstrap.image.upload: fix checksums location to use new temp dir. 2012-04-17 20:49:19 -07:00
Doug Coleman 3ba787b277 core/basis: trim down using lists 2011-11-30 23:15:42 -08:00
Joe Groff 16e510bc76 namespaces: rework so a singleton isn't necessary
Make global foldable, and make the underlying global object a hashtable wrapper. Also, use a tuple instead of a generic array for the global box type.
2011-11-28 18:25:27 -08:00
Joe Groff a1b730e867 namespaces: make set-global/get-global foldable
Store the globals hashtable as an array of boxes so that the key-to-reference mapping is constant. Use a singleton and an unfoldable "box-at" word so that get-global and set-global optimize to direct operations on the associated box when the variable name is a compile-time constant. Fixes #200.
2011-11-28 18:25:27 -08:00
Joe Groff 943596575a use radix literals 2011-11-23 19:03:40 -08:00
Joe Groff c31530caec 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
Joe Groff c8fd36bbdb kill tools.profiler.counting and ui.tools.profiler
Load tools.profiler.sampling from bootstrap/tools instead.
2011-11-10 12:33:10 -08:00
Doug Coleman c731dc6edb Rename lookup to lookup-word. 2011-11-06 16:00:00 -08:00
Joe Groff 6bb46a3f1e vm: always generate safepoints in jit
Even if there's no stack frame we still need to safepoint before leaving the function. Fixes #332.
2011-11-03 11:57:43 -07: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 1b38835207 remove lingering mentions of macosx-ppc 2011-11-02 18:40:27 -07:00
Doug Coleman 1eed9203bb Rename (load-vocab) to (require), add tags.txt for "p" vocab loader test. Code formatting. 2011-11-02 18:07:22 -07:00
Doug Coleman f3c8423382 Fix require-hook 2011-11-02 17:26:13 -07:00
Doug Coleman fb44adef99 Clean up formatting, rename load-vocab-hook to require-hook. Add a unit test for vocabs.loader. 2011-11-02 16:31:42 -07:00
Joe Groff eac90675c0 move counting profiler to tools.profiler.counting 2011-11-02 13:23:09 -07:00
Joe Groff 33919b2919 tools.profiler: rename to tools.counting-profiler 2011-11-02 13:23:06 -07:00
Doug Coleman 94db86a6db Make "foo.private" require load foo instead.
Move require from vocabs.loader to vocabs. Update everything.
Fixes #201.
2011-11-02 11:50:03 -07:00
Slava Pestov 136ffc0671 bootstrap-error.factor: vocab => lookup-vocab 2011-10-29 17:25:51 -07:00
Joe Groff 1386212d23 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 f9257959fd Rename class to class-of 2011-10-24 06:47:42 -05:00
Doug Coleman 26872ffe4d Rename vocab to lookup-vocab 2011-10-24 06:42:54 -05:00
John Benediktsson ed72c670b9 bootstrap.image: disable auto-use. Fixes #263. 2011-10-15 10:34:34 -07:00
John Benediktsson 6417f36397 namespaces: adding a "with-global" word to replace "global [ ] bind". 2011-10-13 17:21:59 -07:00
Slava Pestov ea73b42578 bootstrap.compiler: now that C types are named by words, we don't have to load alien.complex on bootstrap 2011-10-10 21:09:58 -07:00
Slava Pestov 05f7419f2f Rework non-optimizing compiler backend to use compiler.codegen.relocation 2011-10-03 00:26:21 -07:00
Doug Coleman 671f19d70f Remove all non-core uses of (scan-token)
Add scan-datum
Add scan-number
Document more words
Fixes #225.
2011-10-02 12:00:08 -07:00
Doug Coleman 76580da5d5 Refactor the lexer/parser to expose friendlier words for scanning tokens. The preferred top-level words now throw an exception on EOF.
CREATE -> scan-new
CREATE-CLASS -> scan-new-class
CREATE-WORD -> scan-new-word
CREATE-GENERIC -> scan-new-generic
scan -> (scan-token)
scan-token now throws on eof
(scan-word) returns word/number/f
scan-word now throws on eof
scan-word-name expects a non-number
Fixes #183.
Fixes #209.
2011-09-29 11:28:28 -07:00
Doug Coleman bf2a96e9e0 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
Joe Groff 7f71ab3024 bootstrap.compiler: move GetLastError/FormatMessageW compilation before any other foreign words; add a similar shortlist for dlerror on unix as a safeguard 2011-09-13 13:33:07 -07:00
Joe Groff 1927cfeec1 bootstrap.compiler: add GetLastError and FormatMessageW to the compilation shortlist on Windows to avoid compilation order issues 2011-09-13 13:33:07 -07:00
Slava Pestov 7d99ff0900 Use debugger to print an error if startup hook fails; fixes #39 2011-09-11 23:38:26 -07:00
Doug Coleman f4c66e8be7 parser.notes sets parser-quiet? to t in the global namespace. stage2.factor runs its code in the global namespace, so 1) make it more clear that we're setting the global parser-quiet? and 2) change it back before finishing bootstrap to match parser.notes top-level form 2011-09-07 13:41:18 -05:00
John Benediktsson f8b4d2d2f9 bootstrap.image: use "parser-quiet? off" for consistency. 2011-09-07 10:50:54 -07:00
Doug Coleman 5fce2d0f27 Make "quiet" true by default. Disable quiet mode for listener, bootstrap, and deploy tool.
Move "quiet" to parser-quiet? in parser.notes. Change a few places where quiet was handle wrong.
2011-09-06 17:58:12 -07:00
Slava Pestov 65837e742d command-line: move some stuff to command-line.startup so that deployed images don't pull in prettyprinter and debugger 2011-09-01 22:31:44 -07:00
Joe Groff cc6ec893c5 command-line: interpret "-help" or "--help" and print a brief usage message with the most common options 2011-08-18 19:10:51 -07:00
Erik Charlebois 64252dbdbc 32 and 64 bit Linux PPC support 2011-05-23 23:36:14 -04: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 ebce40a4c0 Fix conflict 2011-02-27 20:01:45 -06:00
Slava Pestov 609d6f9166 bootstrap.io: fix load error 2011-02-27 15:02:20 -08:00
Slava Pestov e3c08f32ce bootstrap.{io, ui}: load dependencies to make deploy tool less error-prone 2011-02-27 14:38:47 -08:00
Anton Gorenko 4e6fc292b9 Merge branch 'master' of git://factorcode.org/git/factor 2010-09-28 18:23:36 +06:00
Slava Pestov 7d6475df0b New boot image location: http://downloads.factorcode.org/images/ 2010-09-27 20:29:09 -07:00
Anton Gorenko d5a7f99bea Merge branch 'master' of git://factorcode.org/git/factor
Conflicts:
	basis/cairo/ffi/ffi.factor
	basis/pango/cairo/cairo.factor
	basis/pango/layouts/layouts.factor
2010-09-26 23:24:30 +06:00
Doug Coleman f791c8c5d2 Squashed commit of the following:
commit 197dbe9a6733775ac0ea19b3da4bd4dc3c85418c
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 19:01:38 2010 -0500

    Fix bootstrap, move privileges to windows.privileges

commit 521c622f8afb15bf42d263c738cb990560dc29cb
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:26:30 2010 -0500

    Hopefully fix bootstrap

commit eb3f22928b59758b9505430034044b5b94705da2
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 18:19:05 2010 -0500

    Remove wince from factor codebase

commit 619d6c99415f46208a7ede6a04b0ccda46b15360
Author: Doug Coleman <doug.coleman@gmail.com>
Date:   Sat Sep 18 16:07:46 2010 -0500

    Remove Windows CE from vm/
2010-09-19 19:13:25 -05:00
Slava Pestov 5df4edc14f mason: when checking if we need to build, compare source for last finished (clean/dirty/error) build with the latest source hashes, instead of the last *downloaded* source hashes. This ensures that if a build is terminated due to machine failure, we start building again next time 2010-09-04 16:58:10 -07:00
Slava Pestov d2cf2d8f92 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 1818bcb780 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 d2dd184d58 Officially drop PowerPC port 2010-08-15 20:10:11 -07:00
Anton Gorenko 5c6d4d4017 Merge branch 'master' of git://factorcode.org/git/factor 2010-06-13 07:54:23 +06:00
Slava Pestov 806e54630a GC maps for more compact inline GC checks 2010-06-11 20:06:00 -04:00
Anton Gorenko e174b7a070 Merge branch 'master' of git://factorcode.org/git/factor 2010-06-07 23:12:23 +06:00
Slava Pestov e8cb8bb359 bootstrap.image.download: refactor it a bit to make mason.updates more robust 2010-05-25 17:18:06 -04:00
Anton Gorenko bfe6cba08d set Gtk-based ui backend as default on unix 2010-05-23 16:14:21 +06:00
Slava Pestov ea726f5680 Move remaining sequence operations from generalizations to sequences.generalizations where they belong 2010-05-18 18:36:47 -04:00
Slava Pestov 2a137bed0e bootstrap.compiler.timing: small update 2010-05-14 18:37:07 -04:00
Slava Pestov c211c3e84e FFI rewrite part 1: split up ##alien-invoke and friends into smaller instructions 2010-05-09 21:36:52 -04:00
Slava Pestov d215d691b5 Load debugger.{unix,windows} later on in bootstrap, because lopading it before the optimizing compiler incurs a long delay on Windows as all the WinAPI bindings get loaded and parsed 2010-05-06 17:41:00 -04:00
Slava Pestov 5fbc42e184 bootstrap.compiler.timing: update 2010-05-04 19:33:54 -04:00
Slava Pestov e436ae7314 continuations: keep original error when throwing wrapped errors as well, for easier debugging of bootstrap failures 2010-05-03 17:34:22 -04:00
Slava Pestov 0c8ed1b9d7 bootstrap.handbook: fix typo 2010-04-29 01:43:40 -04:00
Slava Pestov 703ff5385d Merge branch 'require-when' of git://github.com/littledan/Factor 2010-04-19 14:06:52 -05:00
Slava Pestov 2eda6fc6aa io.encodings: add a fast-path for ascii, utf8 and 8-bit encodings when string only contains ASCII characters 2010-04-19 01:14:00 -05:00
Slava Pestov 2517b2fc2b compiler: combine ##load-constant followed by ##alien-double into a ##load-double on x86-32, saving an integer register 2010-04-18 21:42:45 -05:00
Daniel Ehrenberg aa6158b366 Changing require-when usages to the new syntax for require-when 2010-04-18 14:29:24 -05:00
Slava Pestov da6bcbedfc Replace 'untested' tag with 'not loaded' and 'not tested' tags 2010-04-13 18:43:01 -07:00