Remove the start decorator in favor of a command line option

This commit is contained in:
dcode
2019-06-05 18:52:04 +02:00
parent dfe04d08e4
commit eaea26b7ae
44 changed files with 3676 additions and 3228 deletions

View File

@ -1,5 +1,6 @@
{
"asc_flags": [
"--runtime none"
"--runtime none",
"--explicitStart"
]
}

View File

@ -20,8 +20,8 @@
(global $rt/instanceof/nullCat i32 (i32.const 0))
(global $rt/instanceof/nullBlackcat i32 (i32.const 0))
(global $~lib/started (mut i32) (i32.const 0))
(export "__start" (func $start))
(export "memory" (memory $0))
(export "main" (func $rt/instanceof/main))
(func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$ii) (param $0 i32) (result i32)
(local $1 i32)
(local $2 i32)
@ -531,14 +531,15 @@
unreachable
end
)
(func $rt/instanceof/main (; 7 ;) (type $FUNCSIG$v)
(func $start (; 7 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
call $start:rt/instanceof
return
else
i32.const 1
global.set $~lib/started
end
call $start:rt/instanceof
)
(func $null (; 8 ;) (type $FUNCSIG$v)
nop

View File

@ -49,5 +49,3 @@ assert(!(nullCat instanceof BlackCat)); // dynamic false
assert(!(nullBlackcat instanceof Animal)); // static false
assert(!(nullBlackcat instanceof Cat)); // dynamic false
assert(!(nullBlackcat instanceof BlackCat)); // dynamic false
@start export function main(): void {}

View File

@ -24,8 +24,8 @@
(global $~lib/started (mut i32) (i32.const 0))
(global $~lib/rt/__rtti_base i32 (i32.const 56))
(global $~lib/heap/__heap_base i32 (i32.const 108))
(export "__start" (func $start))
(export "memory" (memory $0))
(export "main" (func $rt/instanceof/main))
(func $~lib/rt/stub/__alloc (; 1 ;) (type $FUNCSIG$iii) (param $0 i32) (param $1 i32) (result i32)
(local $2 i32)
(local $3 i32)
@ -719,18 +719,16 @@
unreachable
end
)
(func $rt/instanceof/main (; 9 ;) (type $FUNCSIG$v)
(func $start (; 9 ;) (type $FUNCSIG$v)
global.get $~lib/started
i32.eqz
if
call $start
return
else
i32.const 1
global.set $~lib/started
end
)
(func $start (; 10 ;) (type $FUNCSIG$v)
call $start:rt/instanceof
)
(func $null (; 11 ;) (type $FUNCSIG$v)
(func $null (; 10 ;) (type $FUNCSIG$v)
)
)