kristopher tate
|
efec3a0e34
|
std/event/lock.zig: remove promise_symbol from suspend and use @handle();
Tracking Issue #1296 ;
|
2018-08-02 16:59:11 +09:00 |
kristopher tate
|
b4ff464d39
|
std/event/group.zig: remove promise_symbol from suspend and use @handle();
Tracking Issue #1296 ;
|
2018-08-02 16:59:11 +09:00 |
kristopher tate
|
244a7fdafb
|
std/event/future.zig: remove promise_symbol from suspend and use @handle();
Tracking Issue #1296 ;
|
2018-08-02 16:59:11 +09:00 |
kristopher tate
|
29057e5511
|
std/event/channel.zig: remove promise_symbol from suspend and use @handle();
Tracking Issue #1296 ;
|
2018-08-02 16:59:11 +09:00 |
kristopher tate
|
d3f628907a
|
src/parser.cpp: remove promise_symbol from suspend;
Tracking Issue #1296 ;
|
2018-08-02 16:59:11 +09:00 |
kristopher tate
|
b3cd65d56e
|
src/ir.cpp: remove promise_symbol from suspend;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
5e5685c117
|
src/ast_render.cpp: remove promise_symbol from suspend;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
ca1b356337
|
src/all_types.hpp: remove promise_symbol from suspend;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
92cb330e16
|
src/codegen.cpp: @handle(): replace hacky ref chain with llvm intrinsic;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
13ec5db234
|
test/compile_errors.zig: @handle() in non-async function
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
c546f750f1
|
test/compile_errors.zig: @handle() called outside of function definition;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
104bdb03d6
|
src/codegen.cpp: return promise instead of null promise;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
a8ea236095
|
src/ir.cpp: don't allow `@handle()` outside of a function;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
fcf53b31fc
|
src/ir.cpp: return promise->T instead of promise;
Tracking Issue #1296 ;
Thanks @andrewrk ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
1f0040dd92
|
test/cases/coroutines.zig: remove dummy assert used for testing;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
c1a3b0cb0a
|
src/ir.cpp: add/throw error for @handle() in a non async context;
Tracking Issue #1296 ;
Thanks @andrewrk ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
db362bec18
|
src/codegen.cpp: reassert that there are no generated errors in codegen;
Tracking Issue #1296 ;
Thanks @andrewrk ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
0ee6502562
|
src/codegen.cpp: remove `add_node_error` from `ir_render_handle`;
Tracking Issue #1296 ;
Thanks @andrewrk ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
81f463626a
|
src/codegen.cpp: add/throw error for @handle() in a non async context;
Tracking Issue #1296 ;
I removed/commented-out the assert checking for no errors since we now have some errors rendered.
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
a2e5691228
|
src/codegen.cpp: return null if calling convention is not async;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
9366a58bdd
|
test/cases/couroutines.zig: test @handle();
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
da5f3d5c4c
|
src/ir_print.cpp: support `@handle()`;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
cd18186715
|
src/codegen.cpp: base handle builtin on `@frameAddress()`;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
a9ea22d4f9
|
src/ir.cpp: wire-up IR for handle builtin;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
kristopher tate
|
e79c913cbc
|
src/all_types.hpp: add enums for Handle Builtin;
Tracking Issue #1296 ;
|
2018-08-02 16:50:08 +09:00 |
Marc Tiehuis
|
e66f538972
|
Add integer binary output format (#1313)
|
2018-08-01 11:38:04 -04:00 |
Andrew Kelley
|
de949b72c7
|
simpler std.event.Lock implementation
|
2018-07-31 19:57:46 -04:00 |
Andrew Kelley
|
058bfb254c
|
std.fmt.format: add '*' for formatting things as pointers
closes #1285
|
2018-07-31 11:36:57 -04:00 |
Matthew D. Steele
|
0db33e9c86
|
Add "Comments" section to language reference (#1309)
The contents of this section come from the discussion on issue #1305.
|
2018-07-30 22:27:07 -04:00 |
Andrew Kelley
|
5d4a02c350
|
Merge pull request #1307 from ziglang/cancel-semantics
improved coroutine cancel semantics
|
2018-07-30 13:42:26 -04:00 |
Andrew Kelley
|
cfe03c764d
|
fix docs for break from suspend
|
2018-07-30 13:07:04 -04:00 |
Andrew Kelley
|
c91c781952
|
add behavior tests for cancel semantics
|
2018-07-30 12:49:53 -04:00 |
Andrew Kelley
|
6fd6bc94f5
|
await sets suspend bit; return clears suspend bit
|
2018-07-30 12:22:54 -04:00 |
Andrew Kelley
|
09304aab77
|
fix cancel and await semantics
|
2018-07-29 23:25:40 -04:00 |
dbandstra
|
608ff52dc3
|
add SliceOutStream, rename SliceStream to SliceInStream (#1301)
|
2018-07-29 14:52:10 -04:00 |
Andrew Kelley
|
f884381c60
|
Merge pull request #1300 from dbandstra/more-stream-functions
A few new functions in InStream/OutStream
|
2018-07-29 14:51:25 -04:00 |
dbandstra
|
f36faa32c4
|
add skipBytes function to InStream
this reads N bytes, discarding their values
|
2018-07-28 17:34:28 -07:00 |
dbandstra
|
3ce0ea884f
|
add int writing functions to OutStream
added: writeInt, writeIntLe, and writeIntBe
|
2018-07-28 17:30:05 -07:00 |
Andrew Kelley
|
0d79e03816
|
canceling an await also cancels things awaiting it
|
2018-07-28 13:52:48 -04:00 |
Andrew Kelley
|
05456eb275
|
make some functions in std.event.Loop public
|
2018-07-28 12:53:33 -04:00 |
Andrew Kelley
|
dd272d1316
|
await cancels the await target when it is canceled
|
2018-07-28 12:36:02 -04:00 |
Andrew Kelley
|
0ba2bc38d7
|
await checks the cancel bit
|
2018-07-28 12:23:47 -04:00 |
Andrew Kelley
|
60cda3713f
|
suspend cancels awaiter when it gets canceled
|
2018-07-28 12:11:39 -04:00 |
Andrew Kelley
|
c6f9a4c044
|
cancel detects suspend bit
|
2018-07-28 01:26:11 -04:00 |
Andrew Kelley
|
6fed777637
|
cancel detects if the target handle has already returned
|
2018-07-28 01:22:51 -04:00 |
Andrew Kelley
|
f0c049d02b
|
detect double await
|
2018-07-27 18:37:30 -04:00 |
Andrew Kelley
|
e5beca886d
|
suspend checks the cancel bit
|
2018-07-27 18:07:30 -04:00 |
Andrew Kelley
|
e491c38189
|
resume detects resuming when not suspended
|
2018-07-27 18:01:39 -04:00 |
Andrew Kelley
|
341bd0dfa4
|
await sets the await bit
|
2018-07-27 17:47:27 -04:00 |
Andrew Kelley
|
0b7a9c0722
|
cancel sets the cancel bit
|
2018-07-27 17:42:09 -04:00 |