From 9dfb5efa91fc0f051a1ddc88ace2867bb6b32275 Mon Sep 17 00:00:00 2001 From: Dmitry Vyukov Date: Sat, 5 May 2018 10:13:04 +0200 Subject: prog: simplify code Now that we don't have ReturnArg and only ResultArg's refer to other ResultArg's we can remove ArgUser/ArgUsed and devirtualize lots of code. --- sys/linux/init.go | 4 ++-- sys/linux/sys.txt | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) (limited to 'sys/linux') diff --git a/sys/linux/init.go b/sys/linux/init.go index 9fabafe72..e2370baab 100644 --- a/sys/linux/init.go +++ b/sys/linux/init.go @@ -275,8 +275,8 @@ func (arch *arch) generateTimespec(g *prog.Gen, typ0 prog.Type, old prog.Arg) (a Ret: prog.MakeReturnArg(meta.Ret), } calls = append(calls, gettime) - sec := prog.MakeResultArg(typ.Fields[0], tp.Inner[0], 0) - nsec := prog.MakeResultArg(typ.Fields[1], tp.Inner[1], 0) + sec := prog.MakeResultArg(typ.Fields[0], tp.Inner[0].(*prog.ResultArg), 0) + nsec := prog.MakeResultArg(typ.Fields[1], tp.Inner[1].(*prog.ResultArg), 0) msec := uint64(10) if g.NOutOf(1, 2) { msec = 30 diff --git a/sys/linux/sys.txt b/sys/linux/sys.txt index 8fd578629..10b35b2b4 100644 --- a/sys/linux/sys.txt +++ b/sys/linux/sys.txt @@ -212,7 +212,8 @@ resource io_ctx[intptr] io_setup(n int32, ctx ptr[out, io_ctx]) io_destroy(ctx io_ctx) io_getevents(ctx io_ctx, min_nr intptr, nr len[events], events ptr[out, array[io_event]], timeout ptr[in, timespec]) -# Prog knows that poiners passed in iocbpp needs to be forwarded to io_cancel. +# TODO: kernel identifies requets by address, so pointers passed to io_submit +# need to be forwarded to io_cancel somehow. io_submit(ctx io_ctx, nr len[iocbpp], iocbpp ptr[in, array[ptr[in, iocb]]]) io_cancel(ctx io_ctx, iocb ptr[in, iocb], res ptr[out, io_event]) -- cgit mrf-deployment