Commit Graph

2860 Commits

Author SHA1 Message Date
Alex Crichton
827810fa1b
Merge pull request #1483 from dbrgn/typescript-optional-args
Fix optional arguments in TypeScript
2019-05-14 12:39:35 -05:00
Alex Crichton
fdd6069f7a
Merge pull request #1532 from RReverser/even-faster-strings
Hotfix for double encodeInto call
2019-05-14 10:00:36 -05:00
Ingvar Stepanyan
716ed0d891 Hotfix for double encodeInto call
This was a regression introduced in the last commit of https://github.com/rustwasm/wasm-bindgen/pull/1470, which might make Unicode strings 2x slower to pass.
2019-05-14 14:14:34 +01:00
Alex Crichton
b964201831
Merge pull request #1531 from alexcrichton/less-cruft
Remove thread_local! weirdness in `anyref.rs`
2019-05-13 11:52:17 -05:00
Nick Fitzgerald
c504c381ca
Merge pull request #1530 from alexcrichton/drop-glue-closures
Protect against segfaults calling destroyed closures
2019-05-13 09:43:32 -07:00
Alex Crichton
79dba40e61 Remove thread_local! weirdness in anyref.rs
Resolves an old comment long since been fixed, and confirmed that we
still don't generate extra cruft!

Closes #1523
2019-05-13 09:35:15 -07:00
Alex Crichton
f97763023c
Merge pull request #1470 from RReverser/even-faster-strings
Speed up passing ASCII-only strings to WASM
2019-05-13 10:13:04 -05:00
Alex Crichton
15defcfd3a Add a debug assert and more tests 2019-05-13 08:12:32 -07:00
Alex Crichton
542076d658 Protect against segfaults calling destroyed closures
This commit updates the drop glue generated for closures to simply
ignore null pointers. The drop glue can be called in erroneous
situations such as when a closure is invoked after it's been destroyed.
In these cases we don't want to segfault and/or corrupt memory but
instead let the normal error message from the invoke glue continue to
get propagated.

Closes #1526
2019-05-13 07:22:33 -07:00
Alex Crichton
098b67d7f0
Merge pull request #1527 from ibaryshnikov/master
Removed duplicate script from pipelines
2019-05-13 08:32:02 -05:00
ibaryshnikov
762989e95c removed duplicate script from pipelines 2019-05-12 19:34:26 +03:00
Ingvar Stepanyan
0c681ee2ba Fix offset to arg comparison 2019-05-10 15:31:59 +01:00
Ingvar Stepanyan
7418cec613 Reduce reallocation sizes 2019-05-10 14:44:49 +01:00
Ingvar Stepanyan
57b1a57c5e Speed up passing ASCII-only strings to WASM
Some speed up numbers from my string-heavy WASM benchmarks:
 - Firefox + encodeInto: +45%
 - Chrome + encodeInto: +80%
 - Firefox + encode: +29%
 - Chrome + encode: +62%

Note that this helps specifically with case of lots of small ASCII strings, in case of large strings there is no measurable difference in either direction.
2019-05-10 14:40:59 +01:00
Nick Fitzgerald
befefe0da6
Merge pull request #1521 from fitzgen/anyref-heap-live-count
Utility for counting the number of live JsValues in the wasm-bindgen heap
2019-05-09 16:22:06 -07:00
Nick Fitzgerald
3348ecebdf rustfmt src/anyref.rs 2019-05-09 15:57:21 -07:00
Nick Fitzgerald
450c9234ad Add the anyref_heap_live_count function
This is useful for debugging and writing tests that assert various operations do
not leak `JsValue`s.
2019-05-09 15:57:21 -07:00
Alex Crichton
8ef820a54e
Merge pull request #1520 from darthtrevino/bugfix/1517_typings
Update init() typings
2019-05-09 12:05:25 -07:00
Chris Trevino
9b5de9f88d update init test 2019-05-09 11:12:45 -07:00
Chris Trevino
2850cfc78e update init function export 2019-05-09 11:01:45 -07:00
Danilo Bargen
608a819c0b fixup! Fix optional arguments in TypeScript
Update tests
2019-05-09 18:36:47 +02:00
Danilo Bargen
d9c559f2ca fixup! Fix optional arguments in TypeScript
Apply feedback about omittable and non-omittable arguments. Thanks
@rhysd!
2019-05-09 18:22:47 +02:00
Nick Fitzgerald
f4c5532982 Reorder and organize instrinsic extern declarations 2019-05-09 09:17:13 -07:00
Danilo Bargen
2384af21c1 Fix optional arguments in TypeScript 2019-05-09 18:09:29 +02:00
Alex Crichton
d139228a34
Merge pull request #1508 from RSSchermer/master
Add `bufferSubData` and `clearBuffer[fiuv]` to immutable slice whitelist
2019-05-08 07:14:27 -07:00
Alex Crichton
61e2a1271e
Merge pull request #1518 from Delet0r/patch-1
corretected unit of UTF-16 from byte to bit
2019-05-08 07:02:15 -07:00
Delet0r
cb691100f1
corretected unit of UTF-16 from byte to bit 2019-05-08 15:03:34 +02:00
Alex Crichton
19c3036f7e Update benchmarks source code link 2019-05-06 11:57:38 -07:00
Alex Crichton
952d9e06f3 Attempt to really fix benchmarks deploy 2019-05-06 11:13:35 -07:00
Alex Crichton
a85335dee9
Merge pull request #1507 from Pauan/futures-0.3
Adding in Futures 0.3 support to wasm-bindgen-futures
2019-05-06 10:23:30 -05:00
Pauan
c00262f210 Fixing some nits 2019-05-04 09:28:54 +02:00
Pauan
6c58afda01 Addressing feedback 2019-05-04 09:17:29 +02:00
Alex Crichton
d382ad72a3 Try to debug missing files... 2019-05-03 15:11:50 -07:00
Alex Crichton
9d33dd8717 Remove unused statements in web-sys build script 2019-05-03 14:59:35 -07:00
Alex Crichton
d6a6fdfcc7 Don't assert rustfmt succeeds
Not all environments have it so only run it and hope it succeeds.
2019-05-03 14:59:01 -07:00
Alex Crichton
7ef1e35a85 Try to fix publication of benchmarks 2019-05-03 14:29:10 -07:00
Alex Crichton
ec17ffe6ab
Merge pull request #1512 from alexcrichton/benchmarks
Add a page of microbenchmarks for wasm-bindgen
2019-05-03 15:59:31 -05:00
Alex Crichton
e4fd0fccb5 Add a page of microbenchmarks for wasm-bindgen
This commit starts to add a page of microbenchmarks for wasm-bindgen
which we can hopefully track and compare over time. Right now it's
primarily focused on data collection, making it easy to collect data
across a number of benchmarks for comparison. It doesn't currently do
much in the way of actually comparing the results for you (aka drawing
pretty graphs), so let's left for a future step.

It's hoped though that we can use this to track performance improvements
as well as ensuring that they work over time!
2019-05-03 12:30:11 -07:00
Alex Crichton
a7b85362ce
Merge pull request #1506 from alexcrichton/fix-same-name
Fix importing and exporting the same name
2019-05-03 11:29:44 -05:00
Alex Crichton
46f29db534
Merge pull request #1511 from alexcrichton/update-walrus
Update `walrus` dependency
2019-05-03 11:20:45 -05:00
Alex Crichton
3d43d6e5e8 Fix importing and exporting the same name
Run exports through the same identifier generation as imports to ensure
that everything gets a unique identifier and then just make sure all the
appropriate wires are hooked up when dealing with exports and imports.

Closes #1496
2019-05-03 07:15:20 -07:00
Alex Crichton
5a017c1e22 Update walrus dependency 2019-05-03 07:12:28 -07:00
RSSchermer
15e5162275 Add bufferData and clearBuffer to immutable slice whitelist 2019-05-02 18:19:31 +02:00
Pauan
69d7dc24b1 Adding in Futures 0.3 support 2019-05-02 13:48:44 +02:00
Alex Crichton
358ee18ab2
Merge pull request #1466 from fitzgen/log-stacks
Log stacks of imported JS functions that throw but aren't marked `catch`
2019-05-01 16:51:50 -05:00
Alex Crichton
a13eb10763
Merge pull request #1503 from alexcrichton/fix-web-imports
Fix direct imports in `--target web`
2019-05-01 15:56:40 -05:00
Alex Crichton
22eb34d9ab Fix direct imports in --target web
Currently the import object constructed for the `--target web` output
only ever includes the current module as an one of the modules included.
With `wasm-bindgen`'s optimization to import directly from modules,
however, it's possible to have more modules imported from in the
generated wasm file. This commit ensures that the imports are hooked up
in the `--target web` es6 emulation mode, ensuring there aren't
extraneous errors about import objects.
2019-05-01 13:53:59 -07:00
Alex Crichton
8174973c81
Merge pull request #1504 from alexcrichton/fix-drop-ref-showing-up
Fix `__wbindgen_object_drop_ref` unnecessary bindings
2019-05-01 15:52:50 -05:00
Alex Crichton
c96e3ce097 Fix __wbindgen_object_drop_ref unnecessary bindings
This commit fixes an issue where bindings for
`__wbindgen_object_drop_ref` are generated even if the function isn't
actually used by the final wasm file. This is currently due to the fact
that we run gc passes pretty late in wasm-bindgen and one of the
intrinsics that ended up getting gc'd referenced the
`__wbindgen_object_drop_ref` intrinsic function.

The fix here is somewhat naive by just updating the intrinsic to not
actually use `__wbindgen_object_drop_ref`. This may not be a long-term
solution but it should be good enough for now at least.
2019-05-01 12:13:12 -07:00
Alex Crichton
c127ef7691
Merge pull request #1502 from xtuc/patch-1
Update webpack.config.js
2019-05-01 10:46:05 -05:00