Björn Lindqvist
22887c5816
VM: get rid of the odd RT_EXCEPTION_HANDLER relocation
...
The address to the win32 relocation handler can be stored in a special
object and be accessed by jit-install-seh. Doing it that way is better
because you can remove a lot of special code related to that relocation
type.
2015-09-02 21:54:30 +02:00
Björn Lindqvist
cee0b19324
VM: the ffi-signal-handler and ffi-leaf-signal-handler primitives are unused
2015-09-02 21:54:15 +02:00
Björn Lindqvist
663e5e2a09
VM: fix jit-signal-handler-prolog/epilog to account for the home space
...
Windows 64bit abi requires callers to reserve 32 bytes of home space in
the stack frame which the callee is free to clobber. Previous versions
of VS didn't compile code to take advantage of the home space so it
worked fined. VS2015 however, is using the home space which causes
registers and flags that were supposed to be saved to be
overwritten. The fix is to put a little extra empty space at the bottom
of the stack frame.
2015-08-26 20:23:25 +02:00
Björn Lindqvist
10464e7e4e
VM: LEAF_FRAME_SIZE is 16 bytes on all platforms so we can simplify it
2015-08-26 20:23:15 +02:00
Doug Coleman
886935f5d7
bootstrap.image: rename ' to prepare-object. it doesn't actually output the object, unlike what the comment said.
2015-08-15 21:21:03 -07:00
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
dbb045e2cd
bootstrap.image: better to use the special-object-count constant from kernel.private
2015-08-14 20:19:53 -07:00
Björn Lindqvist
8c70f04d41
bootstrap.image: bs-special-objects -> special-objects,
...
bootstrap.image.syntax vocab not needed anymore
2015-08-14 20:19:53 -07:00
Björn Lindqvist
2b3989f3c9
bootstrap.assembler.*: convert the other assembly files to the new
...
jit-define system
2015-08-14 20:19:52 -07:00
Björn Lindqvist
9cf36e3dc2
bootstrap.image: attempt to remove the SPECIAL-OBJECT: table
...
Instead of using newly defined words as keys to the special-objects
hash being built, you can reuse the constants in kernel.private
2015-08-14 20:19:52 -07:00
John Benediktsson
0216f9f6d1
namespaces: rename namestack* to (get-namestack) for consistency.
2015-08-13 17:53:07 -07:00
John Benediktsson
ceb75057da
change ERROR: words from throw-foo back to foo.
2015-08-13 16:13:05 -07:00
Doug Coleman
b6be8685c3
basis: ERROR: changes.
2015-08-13 03:20:39 -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
46587f8457
factor: arch -> arch-name. fix breakage caused by other patch.
2015-08-12 11:08:24 -05:00
Doug Coleman
351f51b72e
bootstrap.image: images -> image-strings
2015-08-12 08:42:58 -05:00
Doug Coleman
00338f62f3
factor: put inline on same line as ; for experimentation
2015-08-10 12:55:27 -05:00
Doug Coleman
43fb73fae6
factor: Rename I[ ]I to [I I]. Fix places where we do "string"token without whitespace.
2015-08-06 17:05:12 -05:00
Doug Coleman
1ca3a0cd0b
bootstrap.image.upload: Use git id instead of build number.
2015-08-04 16:28:41 -07:00
Doug Coleman
f5853c7e31
bootstrap.image.upload: Upload build images as well for posterity.
2015-08-04 15:05:38 -07:00
Björn Lindqvist
5e29aac0a6
Docs: various more compiler-related docs
2015-07-28 17:58:28 -07:00
John Benediktsson
ca0f80f230
bootstrap: cleanup usings.
2015-07-26 21:20:55 -07:00
Doug Coleman
80601662a3
bootstrap.image: rename image -> bootstrapping-image
2015-07-20 01:26:44 -07:00
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