最近在写 WebAssembly 虚拟机

2018-12-25 23:50:58 +08:00
 Mohanson

上周开了个新坑, 使用 Pure Python 实现了 WebAssembly 虚拟机, 已经(部分)能跑用 c/c++ 编译出来的 WebAssembly 代码了阿鲁.

希望能在这周写完. 测试也是个头疼的活.

目测完成度 55% 左右.

项目链接: https://github.com/mohanson/py-wasmi

等这个项目做完, 又能水文章了好开心阿鲁.

8893 次点击
所在节点    程序员
23 条回复
lxml
2018-12-26 02:31:37 +08:00
感觉用 python 写有点坑啊,现在这种底层的都流行用 rust 来搞
yech1990
2018-12-26 02:45:31 +08:00
一屏幕的 if 看得脑瓜疼😥
Mohanson
2018-12-26 08:25:12 +08:00
@yec 之后应该会把 if 里面的逻辑都扔数组里面,现在代码比较乱
Mohanson
2018-12-26 08:38:02 +08:00
@lxml 最近刚用 rust 写完了 evm 虚拟机,
Mohanson
2018-12-26 08:40:07 +08:00
@lxml wasm 比较复杂,先用 python 撸起来 笑脸 evm 在这里 https://github.com/cryptape/cita-vm
atonku
2018-12-26 08:44:44 +08:00
虽然不知道你们在说些什么,但是微笑就对了
byteli
2018-12-26 09:17:58 +08:00
mark,有时间看看怎么测试的
dabaibai
2018-12-26 10:38:20 +08:00
python 写的? 用 C 写更好吧
Mohanson
2018-12-26 11:20:23 +08:00
@dabaibai 用 py 是想最快速地完成 wasm 虚拟机, 快速试错, 上来就 c 太麻烦了. 性能可以以后再考虑.
hanxiV2EX
2018-12-26 11:22:24 +08:00
都好牛逼
tengshe789
2018-12-26 11:25:21 +08:00
浓浓的神乐画面感🤐
swchzq
2018-12-26 11:30:29 +08:00
666, 正想找个好修改的 wasm 虚拟机来做 wasm 动态逆向分析
Mohanson
2018-12-26 11:55:09 +08:00
@swchzq 666 加个好友, 有问题可以交流下 cXE6NTI2MDk5ODEy
Mohanson
2018-12-26 11:59:59 +08:00
@swchzq go-interpreter/wagon, paritytech/wasmi 都不错
vicvinc
2018-12-26 12:41:25 +08:00
这两天在想要是在 webkit 上直接支持 wasm 会咋样
vicvinc
2018-12-26 12:59:47 +08:00
好像已经支持了(🤦‍♂️

```We ’ re pleased to announce that WebKit has a full WebAssembly implementation.```

https://webkit.org/blog/7691/webassembly/
qiushijie
2018-12-26 13:43:22 +08:00
我想写一个 c 版本的
janxin
2018-12-26 14:16:30 +08:00
Rust 起码有两个的 wasm 虚拟机了吧...python 的似乎也有好几个了...

不过 wasm 现在使用起来还是有很多限制,起码在我们的使用场景里面暂时还不能用

什么时候能原生操作 dom 了再说吧
Mohanson
2018-12-26 14:26:45 +08:00
@janxin Pure Python 的目前还没有. 写轮子可以边学边开心, 不自己动手就只能永远停留在 "我觉得这个技术 xxxx" 的范围.
Mohanson
2018-12-26 14:28:48 +08:00
@qiushijie 搞起搞起

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/520987

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX