markused: @[markused] fix

This commit is contained in:
Alexander Medvednikov 2024-11-26 19:37:34 +03:00
parent 7b8089b392
commit 5f1d7898db
4 changed files with 12 additions and 6 deletions

View File

@ -88,7 +88,7 @@ mut:
values &u8 = unsafe { nil }
}
@[inline]
@[inline; markused]
fn new_dense_array(key_bytes int, value_bytes int) DenseArray {
cap := 8
return DenseArray{
@ -103,18 +103,18 @@ fn new_dense_array(key_bytes int, value_bytes int) DenseArray {
}
}
@[inline]
@[inline; markused]
fn (d &DenseArray) key(i int) voidptr {
return unsafe { voidptr(d.keys + i * d.key_bytes) }
}
// for cgen
@[inline]
@[inline; markused]
fn (d &DenseArray) value(i int) voidptr {
return unsafe { voidptr(d.values + i * d.value_bytes) }
}
@[inline]
@[inline; markused]
fn (d &DenseArray) has_index(i int) bool {
return d.deletes == 0 || unsafe { d.all_deleted[i] } == 0
}

View File

@ -15,6 +15,11 @@ fn (mut g Gen) is_used_by_main(node ast.FnDecl) bool {
}
mut is_used_by_main := true
if g.pref.skip_unused {
if node.is_markused {
// TODO for some reason markused walker doesn't set used_fns[key] true for
// [markused] fndecls
return true
}
fkey := node.fkey()
is_used_by_main = g.table.used_features.used_fns[fkey]
$if trace_skip_unused_fns ? {

View File

@ -357,7 +357,8 @@ pub fn mark_used(mut table ast.Table, mut pref_ pref.Preferences, ast_files []&a
pref: pref_
)
// println( all_fns.keys() )
walker.mark_markused_fns() // tagged with `@[markused]`
walker.mark_markused_fn_decls() // tagged with `@[markused]`
walker.mark_markused_consts() // tagged with `@[markused]`
walker.mark_markused_globals() // tagged with `@[markused]`

View File

@ -117,7 +117,7 @@ pub fn (mut w Walker) mark_exported_fns() {
}
}
pub fn (mut w Walker) mark_markused_fns() {
pub fn (mut w Walker) mark_markused_fn_decls() {
for _, mut func in w.all_fns {
if func.is_markused {
$if trace_skip_unused_markused_fns ? {