poke-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] pickles: small updates to btf.pk and btf-dump.pk


From: Jose E. Marchesi
Subject: Re: [PATCH] pickles: small updates to btf.pk and btf-dump.pk
Date: Tue, 16 Feb 2021 20:30:25 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/28.0.50 (gnu/linux)

Hi David.

> Change BTF_Int.offset and BTF_Int.bits to offset types. Update
> BTF_Section to properly use header.type_off and header.str_off.
>
> 2021-02-16  David Faust  <david.faust@oracle.com>
>
>       * pickles/btf.pk (BTF_Int): Make `offset` and `bits` into offset types.
>       (BTF_Section): Properly use header type_off and str_off.
>       (btf_types): Remove now-redundant function.
>       (btf_strings): Likewise.
>       * pickles/btf-dump.pk (btf_dump_int): Account for above type changes.
> ---
>
> Thanks very much to Jose's feedback :)
>
> OK to push?

This is OK for master.
Thanks!


>
>  pickles/btf-dump.pk |  2 +-
>  pickles/btf.pk      | 22 ++++++++--------------
>  2 files changed, 9 insertions(+), 15 deletions(-)
>
> diff --git a/pickles/btf-dump.pk b/pickles/btf-dump.pk
> index 739659a5..26ea98f0 100644
> --- a/pickles/btf-dump.pk
> +++ b/pickles/btf-dump.pk
> @@ -23,7 +23,7 @@ load btf;
>  fun btf_dump_int = (BTF_Int i) void:
>    {
>      printf (" offset=%v bits=%v %s%s%s",
> -            i.offset#b, i.bits#b,
> +            i.offset, i.bits,
>              i.signed_p ? "SIGNED " : "",
>              i.bool_p ? "BOOL " : "", i.char_p ? "CHAR " : "");
>    }
> diff --git a/pickles/btf.pk b/pickles/btf.pk
> index 7b3bea96..64ac704e 100644
> --- a/pickles/btf.pk
> +++ b/pickles/btf.pk
> @@ -52,9 +52,9 @@ type BTF_Int =
>      uint<1> bool_p;
>      uint<1> char_p;
>      uint<1> signed_p;
> -    uint<8> offset;
> +    offset<uint<8>,b> offset;
>      uint<8>;
> -    uint<8> bits;
> +    offset<uint<8>,b> bits;
>  
>      /* XXX turn `encoding' into a nested integral struct once we
>         support it in the compiler.  */
> @@ -200,8 +200,12 @@ type BTF_Section =
>    struct
>    {
>      BTF_Header header;
> -    BTF_Type[header.type_len] types;
> -    string[header.str_len] strings;
> +
> +    var type_off = OFFSET + header.type_off;
> +    var str_off  = OFFSET + header.str_off;
> +
> +    BTF_Type[header.type_len] types @ type_off;
> +    string[header.str_len] strings @ str_off;
>  
>      /* Given an offset into the BTF strings section, return the string.  */
>  
> @@ -210,13 +214,3 @@ type BTF_Section =
>          return string @ strings'offset + off;
>        }
>    };
> -
> -fun btf_types = (BTF_Header hdr) BTF_Type[]:
> -  {
> -    return BTF_Type[hdr.type_len] @ (hdr'offset + hdr'size + hdr.type_off);
> -  }
> -
> -fun btf_strings = (BTF_Header hdr) string[]:
> -  {
> -    return string[hdr.str_len] @ (hdr'offset + hdr'size + hdr.str_off);
> -  }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]