Takeshi Yoneda
27624049dc
wazevo(frontend): faster non-imported global access ( #1889 )
...
Release CLI / Pre-release build (push) Has been cancelled
Release CLI / Pre-release test (macos-12) (push) Has been cancelled
Release CLI / Pre-release test (ubuntu-22.04) (push) Has been cancelled
Release CLI / Pre-release test (windows-2022) (push) Has been cancelled
Release CLI / Release (push) Has been cancelled
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-12-22 08:04:48 -08:00
Takeshi Yoneda
756ecc58e2
Simplifies wasm.ElementInstance struct ( #1754 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-10-05 08:11:21 +09:00
Takeshi Yoneda
aca6ab2fb3
wazevo: fixes many params function listeners ( #1728 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-22 12:40:10 +09:00
Takeshi Yoneda
57b44b653f
experimental: removes Parameters API from StackIterator ( #1716 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-18 15:14:34 +09:00
Takeshi Yoneda
6515656e5f
Completes migration of enginetest to integration_tests ( #1707 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-14 10:02:18 +09:00
Takeshi Yoneda
5250820c1c
Migrates enginetest into integration tests ( #1705 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-13 13:56:25 +09:00
Takeshi Yoneda
c9019e6406
wazevo: supports for LookupFunction API ( #1704 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-09-13 12:36:56 +09:00
Takeshi Yoneda
b8262fe4fb
Lifts LookupFunction into ModuleInstance from ModuleEngine ( #1636 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-08-18 10:46:50 +09:00
Takeshi Yoneda
112c0d445d
wazevo: adds support for local.tee, selects ( #1634 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-08-17 11:30:27 +09:00
Takeshi Yoneda
a9c5a44690
wazevo: adds support for imported memory ( #1628 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-08-14 15:47:18 +09:00
Takeshi Yoneda
7c88d2a9d4
wazevo: adds support for load instructions ( #1624 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-08-11 11:22:24 +09:00
Chris O'Hara
50394cc1fa
engine: call FunctionListener.Abort in correct order ( #1501 )
2023-06-01 19:53:04 -07:00
Anuraag Agrawal
714368bcea
Remove threads support ( #1487 )
...
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com >
2023-05-22 12:18:36 +10:00
Anuraag Agrawal
bc96257575
Implement WebAssembly threads proposal with interpreter ( #1460 )
...
Signed-off-by: Anuraag Agrawal <anuraaga@gmail.com >
2023-05-16 12:22:17 +08:00
Takeshi Yoneda
80452a94c3
Bulk lazy initialization of FunctionDefinitions ( #1425 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
Co-authored-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-05-12 08:02:40 +10:00
Achille
78c35acd6e
experimental: remove return value of FunctionListener.Before ( #1453 )
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com >
Co-authored-by: Crypt Keeper <64215+codefromthecrypt@users.noreply.github.com >
2023-05-11 11:52:10 +08:00
Achille
a105c43629
experimental: remove error parameter from FunctionListener.After ( #1452 )
...
Signed-off-by: Achille Roussel <achille.roussel@gmail.com >
2023-05-11 06:48:26 +08:00
Thomas Pelletier
ef3d671195
experimental: split program counter and source offset resolution ( #1448 )
...
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
2023-05-09 13:34:01 -07:00
Thomas Pelletier
ed17e523ba
experimental: expose source offset to Listener ( #1433 )
...
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
Signed-off-by: Achille Roussel <achille.roussel@gmail.com >
Co-authored-by: Achille Roussel <achille.roussel@gmail.com >
2023-05-09 08:18:27 +08:00
Takeshi Yoneda
cdaf6d41c8
interpreter: refactors around FunctionDefinition ( #1420 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-05-01 12:07:47 +09:00
Takeshi Yoneda
f47b0d3362
Reduces FunctionDefinition usages ( #1419 )
...
Signed-off-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-05-01 10:37:43 +08:00
Nuno Cruces
77e8d72d67
api: adds CallWithStack to avoid allocations ( #1407 )
...
Signed-off-by: Nuno Cruces <ncruces@users.noreply.github.com >
2023-05-01 08:52:40 +09:00
Thomas Pelletier
0bfb4b52eb
Give Listener a read-only view of globals ( #1404 )
...
* experimental: give listener r/o view of globals
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* experimental: add global support to interpreter
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* exp: replace globals proxy with module interface
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* exp: trim down experimental.InternalModule
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* Replace globals view slice with constantGlobal
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* Fix tests after merge
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* Address PR feedback
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* Rename methods of experimental.Module
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* Run make check
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
* Add WazeroOnlyType to constantGlobal
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
---------
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
2023-04-29 00:07:28 -07:00
Nuno Cruces
197facf7a9
Close certain api interfaces for external implementation ( #1396 )
...
This adds a new type `internalapi.WazeroOnly` which should be embedded on types users are likely to accidentally implement despite docs saying otherwise.
Signed-off-by: Nuno Cruces <ncruces@users.noreply.github.com >
2023-04-28 15:32:32 +08:00
Takeshi Yoneda
3c1c76e2a1
debug: includes Go stack trace in the face of Go runtime errors ( #1401 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-25 10:45:20 +09:00
Thomas Pelletier
9aca08c5e6
Provide new StackIterator to Before Listener hook ( #1363 )
...
Signed-off-by: Thomas Pelletier <thomas@pelletier.codes >
2023-04-18 08:22:58 +09:00
Takeshi Yoneda
5464903d8f
interpreter: use slice of values on functions, not ptrs ( #1357 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-12 11:35:13 +09:00
Takeshi Yoneda
f167939c88
wazeroir: avoids allocation with InclusiveRange ( #1345 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-07 12:14:39 +09:00
Takeshi Yoneda
df8586e58b
interpreter: reduces allocations in lowerIR ( #1343 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-06 15:04:39 +09:00
Takeshi Yoneda
cc28399052
wazeroir: reuses allocated slices for a module ( #1342 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-05 20:26:44 +09:00
Edoardo Vacchi
0dc152d672
wazeroir: migrate vector, table, branch and all other remaining ops to compact repr ( #1334 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
Co-authored-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-04-05 09:38:49 +09:00
Edoardo Vacchi
f3ef84c9b3
wazeroir: Load Ops, Store Ops, Set, Pick, Select, CallIndirect ( #1329 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
Co-authored-by: Takeshi Yoneda <t.y.mathetake@gmail.com >
2023-04-01 08:00:27 +09:00
Edoardo Vacchi
8887799da7
wazeroir: move unary byte ops to UnionOperator ( #1320 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-03-31 08:07:12 +09:00
Edoardo Vacchi
c5d37877bd
wazeroir: migrate unary operations to UnionOperation ( #1318 )
...
* refactor: OperationCall, OperationGlobalGet, OperationGlobalSet
* refactor: Constant Operations
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
---------
2023-03-30 12:57:45 +02:00
Edoardo Vacchi
37135067b6
wazeroir: rm nullary Operations, move interpreterOp to UnionOperation ( #1310 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-03-30 16:57:41 +09:00
Edoardo Vacchi
54ba876002
interpreter: add u1, u2 int64 to interpreterOp ( #1298 )
...
Signed-off-by: Edoardo Vacchi <evacchi@users.noreply.github.com >
2023-03-29 08:26:29 +09:00
Takeshi Yoneda
fa722dd9e3
Implements api.Function directly over engine specific callEngine ( #1297 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-28 16:49:35 +09:00
Takeshi Yoneda
0857336746
Removes wasm.FunctionInstance type ( #1294 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-28 14:43:44 +09:00
Takeshi Yoneda
cd606bde04
Refactors NewModuleEngine and NewCallEngine ( #1291 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-27 09:40:55 +09:00
Takeshi Yoneda
a4226906cf
Deletes wasm.CallCtx ( #1280 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-24 17:00:43 -07:00
Takeshi Yoneda
cd05a22df2
Reduces allocations during instantiation ( #1267 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-22 18:55:58 +09:00
Takeshi Yoneda
c20073d228
Removes unnecessary .Index field of FunctionInstance ( #1270 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-22 18:55:35 +09:00
Takeshi Yoneda
e17a85146a
Holds wasm.Code as values on wasm.Module ( #1243 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-15 14:45:54 +09:00
Takeshi Yoneda
350e81e632
Holds function types as values, not ptrs in wasm.Module ( #1227 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-15 13:45:52 +09:00
Takeshi Yoneda
aba4ede088
Removes usage of host functions with Wasm optocdes ( #1241 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-15 13:42:53 +09:00
Takeshi Yoneda
38fc1cf76c
Deletes callContext.withMemory ( #1214 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-08 15:42:39 +09:00
Takeshi Yoneda
ad968dc3fe
Pass correct api.Module to host functions ( #1213 )
...
Fixes #1211
Previously, host functions are getting api.Module for the "originating" module,
which is the module for api.Function currently invoked, except that the api.Module
is modified by withMemory with the caller's memory instance, therefore there
haven't been no problem for most cases. The only issues were the methods
besides Memory() of api.Module, and this commit fixes them.
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-03-08 15:05:48 +09:00
Clifton Kaznocha
ecb5b1ad03
Close and return immediately if the context is already canceled ( #1158 )
...
Signed-off-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com >
Co-authored-by: Clifton Kaznocha <ckaznocha@users.noreply.github.com >
2023-02-24 09:58:07 +08:00
Takeshi Yoneda
0547a8e0ab
wazeroir: uses u64 as unique keys for labels ( #1142 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-02-21 08:24:59 +09:00
Takeshi Yoneda
381f26db20
wazeroir: less allocations with Labels ( #1141 )
...
Signed-off-by: Takeshi Yoneda <takeshi@tetrate.io >
2023-02-20 17:09:17 +09:00