Alex Crichton
aaff0be441
Fix closure tests
2018-04-09 14:40:01 -07:00
Alex Crichton
ee93122c5b
Merge pull request #101 from rustwasm/closures
...
Initial support for closures
2018-04-09 16:36:01 -05:00
Alex Crichton
a3e5485b86
Add examples/documentation for closures
2018-04-09 14:34:21 -07:00
Alex Crichton
176060cc8a
Aggressively optimize for size in release mode
2018-04-09 14:34:21 -07:00
Alex Crichton
66bdd92fa2
More aggressively gc module
...
As soon as we've removed unneeded exports immediately run a gc pass to ensure
that we don't bind functions in JS that don't actually end up getting needed.
2018-04-09 14:34:21 -07:00
Alex Crichton
f7f0d578e7
Support long-lived closures
...
Docs coming soon!
2018-04-09 14:34:21 -07:00
Alex Crichton
28d6c1bc12
Support stack closures with up to 7 arguments
2018-04-09 14:34:21 -07:00
Alex Crichton
c0cad447c1
Initial support for closures
...
This commit starts wasm-bindgen down the path of supporting closures. We
discussed this at the recent Rust All-Hands but I ended up needing to pretty
significantly scale back the ambitions of what closures are supported. This
commit is just the initial support and provides only a small amount of support
but will hopefully provide a good basis for future implementations.
Specifically this commit adds support for passing `&Fn(...)` to an *imported
function*, but nothing elese. The `&Fn` type can have any lifetime and the JS
object is invalidated as soon as the import returns. The arguments and return
value of `Fn` must currently implement the `WasmAbi` trait, aka they can't
require any conversions like strings/types/etc.
I'd like to soon expand this to `&mut FnMut` as well as `'static` closures that
can be passed around for a long time in JS, but for now I'm putting that off
until later. I'm not currently sure how to implement richer argument types, but
hopefully that can be figured out at some point!
2018-04-09 14:34:21 -07:00
Alex Crichton
9b46c8831d
Fixup AppVeyor badge
2018-04-09 12:49:08 -07:00
Alex Crichton
ce00c12a4a
Merge pull request #112 from konstin/patch-1
...
Update readme links for the moved repository
2018-04-09 14:46:05 -05:00
konstin
30a8f86e76
Update readme links for the moved repository
2018-04-09 21:26:15 +02:00
Alex Crichton
a699455f03
Walk the prototype chain looking for descriptors
...
Looks like this breakage may occur in some scenarios so let's try to
future-proof ourselves!
Closes #109
2018-04-09 06:16:41 -07:00
Alex Crichton
9723fdd69b
Merge pull request #100 from sendilkumarn/remove-coder-func
...
Reduce the JS file size and optimizing encoder and decoder functions
2018-04-04 08:46:36 -05:00
Sendil Kumar N
64d7c8d082
Update lib.rs
2018-04-04 11:27:27 +02:00
Sendil Kumar
9421edaab5
add missed out TextEncoder
2018-04-04 11:22:34 +02:00
Sendil Kumar
6d5afbb3d2
reduce the js file generated code
...
remove node test for browser test
update usages
revert test-support changes
2018-04-04 11:22:32 +02:00
Alex Crichton
07c5ff5a93
Update README version
2018-04-03 14:04:23 -07:00
Alex Crichton
0d1759abd5
Add description to backend crate
2018-04-03 14:02:04 -07:00
Alex Crichton
40e1ee4484
Merge pull request #99 from fitzgen/text-decoder-detection
...
Fix Text{En,De}coder feature detection
2018-04-03 15:33:34 -05:00
Alex Crichton
de3a7e3242
Remove nodejs-checking logic from math exports
...
Instead create a temporary vector which is used to later invoke the generic
`export` function
2018-04-03 13:29:26 -07:00
Alex Crichton
62e9f580d0
Use Context::export in write_classes
...
No need to doubly check for `nodejs`
2018-04-03 13:25:10 -07:00
Nick Fitzgerald
38c123a157
Fix feature detection of TextEncoder too
...
It took me an embarrassingly long time to debug this issue that "I already
fixed"...
2018-04-03 13:20:59 -07:00
Alex Crichton
23f6049619
Fixup various refactoring issues
2018-04-03 13:20:56 -07:00
Alex Crichton
7f614c3c3a
Reduce node/browser duplication
...
Centralize the export of a function to one location to reduce duplication in
various other locations checking whether Node is being targeted or not.
2018-04-03 13:12:28 -07:00
Alex Crichton
cf9ef7b570
Disable incremental on CI for now
...
It seems... buggy!
2018-04-03 13:01:34 -07:00
Nick Fitzgerald
c4b52d0bf6
Properly feature detect TextDecoder
2018-04-03 12:58:54 -07:00
Alex Crichton
cc11505dc8
Remove an unused unsafe block
2018-04-03 12:53:24 -07:00
Alex Crichton
455e86ef6d
Merge branch 'node-math' of https://github.com/ashleygwilliams/wasm-bindgen
2018-04-03 12:53:15 -07:00
Alex Crichton
1ff9ccf072
Tighten up getStringFromWasm a bit
...
no need for some extra locals here
2018-04-03 12:44:35 -07:00
Alex Crichton
978b5ada63
Tighten up passStringToWasm a bit
...
Only emit `throw` on debug mode primarily
2018-04-03 12:44:09 -07:00
Alex Crichton
f1e8e2bee0
Remove GLOBAL_ARGUMENT_CNT JS binding
...
This is easier to manage statically so no need to track it dynamically
2018-04-03 12:38:33 -07:00
Alex Crichton
a805e04a81
Track next_global at codegen time
...
No need to track it at runtime as we should statically know its value!
2018-04-03 12:24:35 -07:00
Alex Crichton
8e5f5d20fc
Remove accidental double braces
2018-04-03 12:24:19 -07:00
Alex Crichton
dd9c444aeb
Try harder to debug failures..
2018-04-03 09:34:37 -07:00
Alex Crichton
f77612531f
Try to debug a failing test on AppVeyor
2018-04-03 08:46:02 -07:00
Alex Crichton
f60b5d9968
Typo!
2018-04-03 08:43:51 -07:00
Alex Crichton
6811059935
Add a link to Webpack's fix
2018-04-03 08:21:56 -07:00
Alex Crichton
76cc1ca295
Fix imports of TextEncoder/TextDecoder
2018-04-03 08:09:25 -07:00
Alex Crichton
bfde5e236c
Add a CLI reference to the README
2018-04-03 07:58:42 -07:00
Alex Crichton
30b1964255
Bump all crates to 0.2
2018-04-03 07:10:07 -07:00
Alex Crichton
bb2e0c205f
Merge pull request #77 from dflemstr/wasm-construct-js-class
...
Add support for constructing JsValue instances generically
2018-04-03 16:08:30 +02:00
Alex Crichton
782378e7c0
Update dependencies
2018-04-03 07:07:14 -07:00
David Flemström
540ccfac9d
Only generate JS class constructor export if import is needed
2018-04-03 11:28:25 +02:00
David Flemström
86625e78bc
Fix tests that are missing wasm_import_module
2018-04-03 11:28:25 +02:00
Alex Crichton
03433a0ef6
Update to recent WasmBoundary abi changes
2018-04-02 09:59:08 -07:00
Alex Crichton
188d368583
Add some missing features to tests
2018-04-02 09:59:07 -07:00
David Flemström
73619b5d15
Add support for constructing JsValue instances generically
2018-04-02 09:59:01 -07:00
Alex Crichton
e6a483f906
Hurray for fun with hygiene!
2018-03-31 14:29:47 -07:00
Alex Crichton
f2254628dd
Fix a typo
2018-03-31 14:26:00 -07:00
Alex Crichton
9bc2718943
Clean up a bit of duplication in codegen
2018-03-31 09:38:31 -07:00