1 #pragma once 2 3 #include "Test.h" 4 #include "MemoryFunction.h" 5 6 class CConditionTest : public CTest 7 { 8 public: 9 CConditionTest(bool, uint32, uint32); 10 11 void Run() override; 12 void Compile(Jitter::CJitter&) override; 13 14 private: 15 16 void MakeBeginIfCase(Jitter::CJitter& jitter, Jitter::CONDITION, size_t result); 17 18 struct CONTEXT 19 { 20 uint32 value0; 21 uint32 value1; 22 23 uint32 resultEq; 24 uint32 resultNe; 25 uint32 resultBl; 26 uint32 resultBe; 27 uint32 resultAe; 28 uint32 resultLt; 29 uint32 resultLe; 30 uint32 resultAb; 31 uint32 resultGt; 32 uint32 resultGe; 33 }; 34 35 bool m_useConstant = false; 36 uint32 m_value0 = 0; 37 uint32 m_value1 = 0; 38 CONTEXT m_context; 39 CMemoryFunction m_function; 40 }; 41