From 6d11591d836ce7ccb9a8ccf80b4d2504929ccfd1 Mon Sep 17 00:00:00 2001 From: Norman Feske Date: Fri, 5 Apr 2019 12:27:52 +0200 Subject: [PATCH] test-spark: rename number_of_bits -> object_size In the original version, I used 'number_of_bits' because Ada's 'Size returns the size in bits, not bytes. But the values (for objects) are always a multiple of 8. On the C++ side, performing size checks at the granularity of bits is just awkward. The term 'object size' is more natural. --- repos/libports/src/test/spark/machinery.adb | 6 +++--- repos/libports/src/test/spark/machinery.ads | 8 ++++---- repos/libports/src/test/spark/machinery.h | 8 ++++---- 3 files changed, 11 insertions(+), 11 deletions(-) diff --git a/repos/libports/src/test/spark/machinery.adb b/repos/libports/src/test/spark/machinery.adb index 47e835ed2c..3875e0a1bf 100644 --- a/repos/libports/src/test/spark/machinery.adb +++ b/repos/libports/src/test/spark/machinery.adb @@ -2,10 +2,10 @@ pragma Ada_2012; package body Machinery is - function Number_Of_Bits (Machinery : Machinery_Type) return Number_Of_Bits_Type is + function Object_Size (Machinery : Machinery_Type) return Object_Size_Type is begin - return Machinery'Size; - end Number_Of_Bits; + return Machinery'Size / 8; + end Object_Size; procedure Initialize (Machinery : out Machinery_Type) is begin diff --git a/repos/libports/src/test/spark/machinery.ads b/repos/libports/src/test/spark/machinery.ads index db446d06fc..4f8b5f6d55 100644 --- a/repos/libports/src/test/spark/machinery.ads +++ b/repos/libports/src/test/spark/machinery.ads @@ -2,16 +2,16 @@ package Machinery is pragma Pure; - type Number_Of_Bits_Type is mod 2**32 with Size => 32; + type Object_Size_Type is mod 2**32 with Size => 32; type Temperature_Type is mod 2**32 with Size => 32; type Machinery_Type is private; - function Number_of_bits (Machinery : Machinery_Type) return Number_Of_Bits_Type + function Object_Size (Machinery : Machinery_Type) return Object_Size_Type with Export, Convention => C, - External_Name => "_ZN5Spark14number_of_bitsERKNS_9MachineryE"; + External_Name => "_ZN5Spark11object_sizeERKNS_9MachineryE"; procedure Initialize (Machinery : out Machinery_Type) with Export, @@ -32,6 +32,6 @@ private type Machinery_Type is record Temperature : Temperature_Type; - end record with Size => 32; + end record; end Machinery; diff --git a/repos/libports/src/test/spark/machinery.h b/repos/libports/src/test/spark/machinery.h index dd1cfdf662..3639061e0f 100644 --- a/repos/libports/src/test/spark/machinery.h +++ b/repos/libports/src/test/spark/machinery.h @@ -17,7 +17,7 @@ namespace Spark { * * \param BYTES size of the SPARK record in bytes */ - template + template struct Object { /** @@ -25,7 +25,7 @@ namespace Spark { */ struct Object_size_mismatch { }; - static constexpr Genode::size_t bytes() { return BYTES; } + static constexpr Genode::uint32_t bytes() { return BYTES; } long _space[(BYTES + sizeof(long) - 1)/sizeof(long)] { }; }; @@ -39,12 +39,12 @@ namespace Spark { Genode::uint32_t temperature() const; }; - Genode::size_t number_of_bits(Machinery const &); + Genode::uint32_t object_size(Machinery const &); template static inline void assert_valid_object_size() { - if (number_of_bits(*(T *)nullptr) > T::bytes()*8) + if (object_size(*(T *)nullptr) > T::bytes()) throw typename T::Object_size_mismatch(); } }