Joe Groff
402e1155a5
vm: resumably handle signals from leaf procedures
2011-10-27 21:18:18 -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
Joe Groff
68518e741e
cpu.x86.(32,64).bootstrap: get rid of PUSH malarky
...
In the function prologue, move the stack pointer once after the stack frame is set up instead of PUSHing the stack frame piece by piece.
2011-10-27 21:14:50 -07:00
Joe Groff
b0b0905460
vm: add factorbug command to throw exception
...
Also rename "q" to "c" because it "c"ontinues, remove the useless "im" command, and rename the less useful "t" to "trim" so we can use "t" to mean "throw"
2011-10-27 21:14:49 -07:00
Joe Groff
c06be95816
compiler: no spurious safepoint at start of loops
2011-10-27 21:14:48 -07:00
Joe Groff
41c36752fc
compiler.cfg.tco: clean up commented-out old code
2011-10-27 21:14:47 -07:00
Joe Groff
6f75e84d93
compiler.cfg.tco: teach TCO about safepoints
2011-10-27 21:14:46 -07:00
Joe Groff
e449fef4e3
compiler.cfg.builder: safepoint loops and epilogs
2011-10-27 21:14:46 -07:00
Joe Groff
0c022f2454
compiler: add ##safepoint IR insn
2011-10-27 21:14:46 -07:00
Joe Groff
ae1a903c4e
cpu.x86.assembler: add MOVABS instruction
...
MOVABS generates the one-byte opcode version of MOV eAX, [absolute] or MOV [absolute], eAX, which saves a byte per safepoint on x86-32.
2011-10-27 21:14:45 -07:00
Joe Groff
4be5eadb34
cpu.x86.bootstrap: add safepoint to jit-epilog
2011-10-27 21:14:45 -07:00
Joe Groff
98fa51f0e0
compiler: rt-safepoint and rel-safepoint words
2011-10-27 21:14:45 -07:00
Doug Coleman
7b6f27eda6
Add a lint check for swap .. swap that can be replaced by dip. Clean up the cases it finds.
2011-10-26 13:01:04 -07:00
Doug Coleman
80a1a68e0f
Fix error reporting for load, reported by Recursed
2011-10-25 14:54:23 -07:00
Doug Coleman
4ebe5218c7
Update Windows for word renames, fix lint errors
2011-10-24 21:50:02 -07:00
Doug Coleman
51c033a1f6
Fix all failures in the linux64 build email
2011-10-24 19:33:09 -07:00
Doug Coleman
763d9a3f7d
Missed yet more renames
2011-10-24 17:00:09 -07:00
Doug Coleman
df64529fb5
Forget some classes after unit tests so that running "classes" test succeeds multiple times in a row
2011-10-24 16:59:46 -07:00
Doug Coleman
d5dc5cfa2c
Fix 32bit platform bootstrap
2011-10-24 16:24:01 -07:00
Doug Coleman
0d059e0f19
Found a few more places to use lookup-c-type
2011-10-24 15:58:40 -07:00
John Benediktsson
4246c0ad36
windows.directx: add platforms.txt.
2011-10-24 15:47:06 -07:00
Doug Coleman
ff69e2f240
Rename c-type to lookup-c-type. Fixes #230 .
2011-10-24 14:37:24 -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
Doug Coleman
2ecd513130
Factor out ``no-roots no-prefixes'' into its own word. Add load-root, load-from-root, vocabs-in-root and implement load in terms of load-from-root.
...
Add error checking for append-vocab-dir and (child-vocabs) in case someone tries to pass them the wrong parameters.
Rename: vocab-dir+ to append-vocab-dir
Document load-from-root and load-root
2011-10-23 19:59:01 -05:00
Doug Coleman
441a8b8926
Checked in some code on accident.
2011-10-21 15:34:44 -05:00
John Benediktsson
5a943b32c4
Remove stack effects from HELP: declarations.
2011-10-20 19:36:11 -07:00
John Benediktsson
3d1155130c
core-foundation.timers: allow interval to be specified in the constructor.
2011-10-19 15:30:55 -07:00
John Benediktsson
b1922274e3
smtp: removing unused test.
2011-10-19 13:39:26 -07:00
John Benediktsson
f4a6e10818
More cleanup of unused stuff.
2011-10-19 11:01:16 -07:00
John Benediktsson
d1f5fefab0
Cleanup some uses of global [ ] bind.
2011-10-19 11:01:16 -07:00
John Benediktsson
469f4314df
calendar: removing unused (month-name) word.
2011-10-19 11:01:16 -07:00
John Benediktsson
fb2aab3545
Remove unused words. Fixes #132 .
2011-10-19 11:01:16 -07:00
Doug Coleman
3507a0cc4b
Don't use exception handling for handle>file-size
2011-10-19 10:15:09 -07:00
John Benediktsson
a625197ba5
ui.gadgets.editors: windows doesn't work like macosx.
2011-10-19 09:42:12 -07:00
Doug Coleman
55bb863704
Create attributes>> accessor in io.files.windows
2011-10-19 03:14:19 -07:00
Doug Coleman
b58688f87d
Add throw-win32-error, use it in (delete-file)
2011-10-19 02:51:36 -07:00
Doug Coleman
5608178389
When deleting a file, if it fails with "Access is denied" then set the file
...
attributes to normal and try again. Some files in the .git directory are set
to read-only, preventing the build machines from deleting old builds.
2011-10-19 02:28:45 -07:00
Doug Coleman
55790cc6e4
Check if streams are seekable in Windows
2011-10-19 01:16:53 -07:00
Doug Coleman
986ff071b4
Fix help-lint for editors, peg.ebnf
2011-10-19 00:57:20 -07:00
Doug Coleman
df3cf77e59
Fix tools.annotations tests
2011-10-19 00:57:06 -07:00
Joe Groff
e40453ebee
io.streams.limited: missed INSTANCE: input-stream
2011-10-18 21:27:08 -07:00
John Benediktsson
d1009d74f4
delegate: not sure why protocols can be defined with arrays, but...
2011-10-18 20:40:14 -07:00
John Benediktsson
d750197a7e
help.syntax: if you're gonna have HELP: stack effects, they might as well be correct...
2011-10-18 20:12:42 -07:00
John Benediktsson
2608214622
help.syntax: allow HELP: to have optional stack effect.
2011-10-18 19:14:53 -07:00
John Benediktsson
774d39a524
listener: don't crash if we forget the current vocab. Fixes #259 .
2011-10-18 16:46:55 -07:00
John Benediktsson
faf556f971
delegate: verify generics on protocol definition. Fixes #260 .
2011-10-18 16:31:15 -07:00
Joe Groff
13b17fb84a
io: input-stream and output-stream mixins
2011-10-18 16:25:09 -07:00
John Benediktsson
315767d6f3
editors: unify "edit" across vocabs and words, add edit words for docs, tests, platforms, authors, tags, and summary files. Fixes #177 .
2011-10-18 16:11:24 -07:00
Joe Groff
300a0256c8
new vocab tools.annotations.assertions
...
Annotates unsafe words with assertions that their inputs and outputs are valid. Provide annotations for stream-read(-partial)-unsafe and (set-)nth-unsafe to start with.
2011-10-18 15:13:34 -07:00
Joe Groff
c850722cbb
tools.annotations: send watch to error-stream
2011-10-18 15:13:34 -07:00
Joe Groff
b4d406cfa3
ui.tools.listener: set error stream
2011-10-18 15:13:33 -07:00
John Benediktsson
b237df3a3b
Remove unused stack effects from DEFER: declarations.
2011-10-18 14:42:17 -07:00
John Benediktsson
6e00eaa3f8
Fix stack effect to not print "(( -- ))", remove stray effect from smtp.
2011-10-18 13:25:47 -07:00
John Benediktsson
80e1c8e3f2
Eliminate duplicate syntax for stack effects "(" no longer drops and is identical to the old "((", which is now removed.
2011-10-18 13:19:39 -07:00
Joe Groff
9b2634fbd7
io.files.windows: fix can-seek? and length
2011-10-18 12:42:53 -07:00
John Benediktsson
8d15fb1021
ui.gadgets.editors: implement Ctrl-A/E/K to be more compatible.
2011-10-18 11:38:08 -07:00
John Benediktsson
cf54ce8e42
math.functions: when gcd is inlined, "gcd nip" is almost as good as "gcd*".
2011-10-18 10:30:39 -07:00
Doug Coleman
5c694767cd
Report which file doesn't get deleted on Windows.
2011-10-18 00:59:57 -07:00
Doug Coleman
24a6895436
io.sockets.windows - Add a using, output count to fix compile error. Not bad for having no Windows box.
2011-10-17 23:28:22 -07:00
John Benediktsson
9f4eeb55f9
Revert "Optimize byte-reverse macro in alien.endian -- it was shifting each byte to the 0th bit place, bitand-ing it with HEX: ff, then shifting it to its final destination -- now we immediately shift to the proper location and bitand with the proper bitmask."
...
This reverts commit c701a39e89
.
2011-10-17 21:39:57 -07:00
Joe Groff
90e1002349
io.sockets: rename (receive) to (receive-unsafe)
2011-10-17 21:23:37 -07:00
Joe Groff
9a812cc5c9
io.ports: lift common methods onto buffered-port
2011-10-17 21:23:37 -07:00
Joe Groff
0c74190a50
ui.tools.listener: remove redundant method
2011-10-17 21:23:37 -07:00
Joe Groff
67cccc63b3
formatting
2011-10-17 21:23:36 -07:00
Joe Groff
68621c4d79
io.sockets.windows: recv to byte-array via malloc
...
WSARecvFrom on Windows does its work asynchronously, so the buffer cannot be in the managed heap during the extent of the operation.
2011-10-17 21:23:36 -07:00
Joe Groff
8fc0be3c2f
io.sockets: remove unix.ffi inserted by auto-use
2011-10-17 21:23:36 -07:00
Joe Groff
5d0ff43613
io.sockets: receive directly into byte array
2011-10-17 21:23:11 -07:00
Joe Groff
20e49c273f
io.sockets: receive-unsafe and receive-into
...
Analogous to read-unsafe/read-into for streams (and thereby TCP sockets), provide receive-unsafe and receive-into words for datagram sockets that receive into a caller-supplied buffer.
2011-10-17 21:23:11 -07:00
Joe Groff
dbda6cb40b
compiler.tree.dead-code: fix test
...
It was using "read" in an optimization test, but since "read" is now inline, it wasn't getting the expected optimized quotation back.
2011-10-17 21:23:10 -07:00
Joe Groff
f626e456dd
specialized-arrays: fill in missing manifest bits
2011-10-17 21:23:10 -07:00
Joe Groff
e426512534
more stream-seekable? and stream-length methods
...
- limited-streams and throw-on-eof-streams
- string-readers and byte-readers
2011-10-17 21:23:09 -07:00
Joe Groff
e589f58163
delegate.protocols: clean up input-stream-protocol
2011-10-17 21:23:08 -07:00
Joe Groff
863ab575e3
io.ports: stream-seekable? and stream-length
...
io.files.windows, io.backend.unix: platform-specific backends for those methods
2011-10-17 21:23:08 -07:00
Joe Groff
bd50acf424
unix.stat: bind to fstat
2011-10-17 21:23:07 -07:00
Joe Groff
09f55f82fa
clean up forwarding stream-read-partial-unsafe
...
Now that "io" provides a method on object for stream-read-partial-unsafe that forwards to stream-read-unsafe, individual stream class that don't implement partial reads don't need to provide such a method themselves.
2011-10-17 21:23:06 -07:00
Joe Groff
ae6d6ba951
specialized-arrays: direct-slice for byte-arrays
...
Implement nth-c-ptr and direct-like for byte-arrays so that direct-slice over a byte-array makes a uchar-array{ } over a part of the byte-array
2011-10-17 21:23:06 -07:00
Joe Groff
c3c382e45c
ui.tools.listener: fix stream-read-unsafe
...
It was returning the number of requested bytes even if eof was encountered.
2011-10-17 21:23:05 -07:00
Joe Groff
6f12322bda
kill noncopying-reader mixin, stream-read generic
...
Now that all streams have been updated to implement the stream-read-unsafe protocol, take out the noncopying-reader shim. Turn stream-read and stream-read-partial into plain functions over the -unsafe generics.
2011-10-17 21:23:05 -07:00
Joe Groff
a9ab3db167
ui.tools.listener: read-unsafe for interactor†
...
†there's a failing test with this patch that needs investigation:
===
resource:basis/ui/tools/listener/listener-tests.factor: 90
Unit Test: { [ t ] [ "promise" get 2 seconds ?promise-timeout text = ] }
wait-timeout
===
2011-10-17 21:23:04 -07:00
Joe Groff
7caed69d26
delegate.protocols: update input-stream-protocol
...
Add stream-read-unsafe and stream-read-partial-unsafe to input-stream-protocol.
2011-10-17 21:23:04 -07:00
Joe Groff
5c945595ee
io.encodings.string: faster decode and encode
...
stream-contents is apparently way slow for decoders. Write decode out more directly as a read1/push loop so it's faster. encode isn't quite as bad, but we can still get a 25% speed improvement by writing to an appropriately sized byte-vector.
2011-10-17 21:23:02 -07:00
Joe Groff
055196d4b7
io.streams.(limited,throwing): read-unsafe methods
2011-10-17 21:23:00 -07:00
Joe Groff
01419b3e6b
io.streams.null: read-unsafe methods
2011-10-17 21:23:00 -07:00
Joe Groff
a3b15543e1
io.ports: implement read-unsafe operations
2011-10-17 21:22:59 -07:00
Joe Groff
7e9dbde99f
io.buffers: factor out buffer-read-unsafe word
...
buffer-read-unsafe returns a length and a pointer into the buffer instead of a copy.
2011-10-17 21:22:59 -07:00
Joe Groff
b79d7158be
io.streams.memory: implement stream-read-unsafe
...
(The actual method is in alien.data due to bootstrap load order issues.)
2011-10-17 21:22:59 -07:00
Joe Groff
d5f4b6f155
io.streams.sequence: change to provide read-unsafe
...
Change io.streams.sequence and its children io.streams.byte-array and io.streams.string to implement the -unsafe protocol and mixin noncopying-reader.
2011-10-17 21:22:59 -07:00
Joe Groff
5a072c57a6
bootstrap, io.streams.c: use new fread primitive
...
Change the fread primitive to fread-unsafe, matching the new primitive in the VM, and update the implementation of c-reader to implement stream-read-unsafe and stream-read in terms of fread-unsafe
2011-10-17 21:22:58 -07:00
John Benediktsson
38a54cb8df
math.functions: improve stack effect names for gcd*.
2011-10-17 20:37:36 -07:00
John Benediktsson
ac98269f53
math.functions: faster gcd means faster ratios.
2011-10-17 20:36:28 -07:00
Doug Coleman
a2804ebf54
find-dlist-node was returning duplicated information -- node/f tells you enough, no need for another boolean return value
2011-10-17 18:58:14 -07:00
Doug Coleman
f21fee3b73
Rename complete-effect to scan-effect
2011-10-17 10:25:27 -07:00
Doug Coleman
db1d499a6f
Fix typo in tools.deploy.windows.ico
2011-10-16 23:06:11 -07:00
John Benediktsson
81714b8dc3
More lint cleanups.
2011-10-16 19:33:16 -07:00
John Benediktsson
470e0be3e1
ui.tools.listener: call insert-newline directly.
2011-10-16 13:39:15 -07:00
John Benediktsson
fb9612ef73
sequences.deep: find drop >boolean is any?
2011-10-16 13:15:05 -07:00
John Benediktsson
c8732657b7
Cleanup more lint warnings.
2011-10-16 13:01:58 -07:00
John Benediktsson
6f1c44b46d
Cleanup some lint warnings.
2011-10-15 19:19:44 -07:00
John Benediktsson
ed72c670b9
bootstrap.image: disable auto-use. Fixes #263 .
2011-10-15 10:34:34 -07:00