Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
wa-lang
wa
提交
6019f6de
wa
项目概览
wa-lang
/
wa
大约 1 年 前同步成功
通知
68
Star
655
Fork
45
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
wa
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
6019f6de
编写于
3月 09, 2023
作者:
3
3dgen
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
临时增加*T => ptr
上级
64315c08
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
43 addition
and
0 deletion
+43
-0
_examples/reftoptr/README.md
_examples/reftoptr/README.md
+3
-0
_examples/reftoptr/src/main.wa
_examples/reftoptr/src/main.wa
+12
-0
_examples/reftoptr/wa.mod.json
_examples/reftoptr/wa.mod.json
+14
-0
internal/backends/compiler_wat/base.wat.go
internal/backends/compiler_wat/base.wat.go
+8
-0
internal/waroot/_waroot/src/runtime/runtime.wa
internal/waroot/_waroot/src/runtime/runtime.wa
+6
-0
未找到文件。
_examples/reftoptr/README.md
0 → 100644
浏览文件 @
6019f6de
# Pkg: _examples/brainfuck
TODO
_examples/reftoptr/src/main.wa
0 → 100644
浏览文件 @
6019f6de
// 版权 @2019 凹语言 作者。保留所有权利。
import "runtime"
func main() {
var i i32
var j []u8
println(runtime.I32_ref_to_ptr(&i))
println(runtime.U8_slice_to_ptr(j))
j = append(j, 33)
println(runtime.U8_slice_to_ptr(j))
}
_examples/reftoptr/wa.mod.json
0 → 100644
浏览文件 @
6019f6de
{
"name"
:
"_examples/reftoptr"
,
"pkgpath"
:
"reftoptr"
,
"version"
:
"0.0.1"
,
"authors"
:
[
"author"
,
"author2"
],
"description"
:
"module description"
,
"readme"
:
"README.md"
,
"homepage"
:
""
,
"repository"
:
""
,
"license"
:
""
,
"license_file"
:
""
,
"keywords"
:
[],
"categories"
:
[]
}
internal/backends/compiler_wat/base.wat.go
浏览文件 @
6019f6de
...
...
@@ -289,6 +289,14 @@ const modBaseWat_wa = `
end ;;ref_count == 0
)
(func $$wa.RT.i32_ref_to_ptr (param $b i32) (param $d i32) (result i32) ;;result = ptr
local.get $d
)
(func $$wa.RT.slice_to_ptr (param $b i32) (param $d i32) (param $l i32) (param $c i32) (result i32) ;;result = ptr
local.get $d
)
`
const
modBaseWat_wasi
=
`
...
...
internal/waroot/_waroot/src/runtime/runtime.wa
浏览文件 @
6019f6de
...
...
@@ -142,3 +142,9 @@ func free(ap: u32) {
knr_freep = p_addr
}
#wa:linkname $wa.RT.i32_ref_to_ptr
func I32_ref_to_ptr(t *i32) u32
#wa:linkname $wa.RT.slice_to_ptr
func U8_slice_to_ptr(t []u8) u32
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录