mirror of
				https://git.wownero.com/wownero/RandomWOW.git
				synced 2024-08-15 00:23:14 +00:00 
			
		
		
		
	Fixed alignment of VirtualMachine
This commit is contained in:
		
							parent
							
								
									dce8c74fa8
								
							
						
					
					
						commit
						954365634e
					
				
					 2 changed files with 12 additions and 2 deletions
				
			
		|  | @ -19,6 +19,7 @@ along with RandomX.  If not, see<http://www.gnu.org/licenses/>. | |||
| 
 | ||||
| #pragma once | ||||
| //#define STATS
 | ||||
| #include <new> | ||||
| #include "VirtualMachine.hpp" | ||||
| #include "Program.hpp" | ||||
| #include "intrinPortable.h" | ||||
|  | @ -60,6 +61,15 @@ namespace RandomX { | |||
| 
 | ||||
| 	class InterpretedVirtualMachine : public VirtualMachine { | ||||
| 	public: | ||||
| 		void* operator new(size_t size) { | ||||
| 			void* ptr = _mm_malloc(size, 64); | ||||
| 			if (ptr == nullptr) | ||||
| 				throw std::bad_alloc(); | ||||
| 			return ptr; | ||||
| 		} | ||||
| 		void operator delete(void* ptr) { | ||||
| 			_mm_free(ptr); | ||||
| 		} | ||||
| 		InterpretedVirtualMachine(bool soft, bool async) : softAes(soft), asyncWorker(async) {} | ||||
| 		~InterpretedVirtualMachine(); | ||||
| 		void setDataset(dataset_t ds) override; | ||||
|  |  | |||
|  | @ -46,8 +46,8 @@ namespace RandomX { | |||
| 			return &program; | ||||
| 		} | ||||
| 	protected: | ||||
| 		alignas(16) Program program; | ||||
| 		alignas(16) RegisterFile reg; | ||||
| 		alignas(64) Program program; | ||||
| 		alignas(64) RegisterFile reg; | ||||
| 		MemoryRegisters mem; | ||||
| 		uint8_t* scratchpad; | ||||
| 		uint32_t readReg0, readReg1, readReg2, readReg3; | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue