Просмотр исходного кода

Function typedefs without pointer

tevador 7 лет назад
Родитель
Сommit
cf72ed79c7
3 измененных файлов с 14 добавлено и 14 удалено
  1. 6 6
      src/common.hpp
  2. 4 4
      src/dataset.hpp
  3. 4 4
      src/jit_compiler_x86.hpp

+ 6 - 6
src/common.hpp

@@ -113,11 +113,11 @@ namespace randomx {
 		fpu_reg_t a[RegistersCount / 2];
 	};
 
-	typedef void(*DatasetReadFunc)(addr_t, MemoryRegisters&, int_reg_t(&reg)[RegistersCount]);
-	typedef void(*ProgramFunc)(RegisterFile&, MemoryRegisters&, uint8_t* /* scratchpad */, uint64_t);
-	typedef void(*DatasetInitFunc)(randomx_cache* cache, uint8_t* dataset, uint32_t startBlock, uint32_t endBlock);
+	typedef void(DatasetReadFunc)(addr_t, MemoryRegisters&, int_reg_t(&reg)[RegistersCount]);
+	typedef void(ProgramFunc)(RegisterFile&, MemoryRegisters&, uint8_t* /* scratchpad */, uint64_t);
+	typedef void(DatasetInitFunc)(randomx_cache* cache, uint8_t* dataset, uint32_t startBlock, uint32_t endBlock);
 
-	typedef void(*DatasetDeallocFunc)(randomx_dataset*);
-	typedef void(*CacheDeallocFunc)(randomx_cache*);
-	typedef void(*CacheInitializeFunc)(randomx_cache*, const void*, size_t);
+	typedef void(DatasetDeallocFunc)(randomx_dataset*);
+	typedef void(CacheDeallocFunc)(randomx_cache*);
+	typedef void(CacheInitializeFunc)(randomx_cache*, const void*, size_t);
 }

+ 4 - 4
src/dataset.hpp

@@ -29,7 +29,7 @@ along with RandomX.  If not, see<http://www.gnu.org/licenses/>.
 /* Global scope for C binding */
 struct randomx_dataset {
 	uint8_t* memory = nullptr;
-	randomx::DatasetDeallocFunc dealloc;
+	randomx::DatasetDeallocFunc* dealloc;
 };
 
 namespace randomx {
@@ -39,10 +39,10 @@ namespace randomx {
 /* Global scope for C binding */
 struct randomx_cache {
 	uint8_t* memory = nullptr;
-	randomx::CacheDeallocFunc dealloc;
+	randomx::CacheDeallocFunc* dealloc;
 	randomx::JitCompilerX86* jit;
-	randomx::CacheInitializeFunc initialize;
-	randomx::DatasetInitFunc datasetInit;
+	randomx::CacheInitializeFunc* initialize;
+	randomx::DatasetInitFunc* datasetInit;
 	randomx::SuperscalarProgram programs[RANDOMX_CACHE_ACCESSES];
 	std::vector<uint64_t> reciprocalCache;
 };

+ 4 - 4
src/jit_compiler_x86.hpp

@@ -45,11 +45,11 @@ namespace randomx {
 		template<size_t N>
 		void generateSuperscalarHash(SuperscalarProgram (&programs)[N], std::vector<uint64_t> &);
 		void generateDatasetInitCode();
-		ProgramFunc getProgramFunc() {
-			return (ProgramFunc)code;
+		ProgramFunc* getProgramFunc() {
+			return (ProgramFunc*)code;
 		}
-		DatasetInitFunc getDatasetInitFunc() {
-			return (DatasetInitFunc)code;
+		DatasetInitFunc* getDatasetInitFunc() {
+			return (DatasetInitFunc*)code;
 		}
 		uint8_t* getCode() {
 			return code;