[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);
> - }