Changeset 214908 in webkit for trunk/Source/JavaScriptCore/b3/testb3.cpp
- Timestamp:
- Apr 4, 2017, 3:37:51 PM (8 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/b3/testb3.cpp
r214901 r214908 14866 14866 value[0] = static_cast<T>(-1); 14867 14867 CHECK_EQ(invoke<typename NativeTraits<T>::CanonicalType>(*code, value), static_cast<typename NativeTraits<T>::CanonicalType>(static_cast<T>(-1))); 14868 CHECK_EQ(value[0], static_cast<T>(-1)); 14869 CHECK_EQ(value[1], 13); 14870 checkMyDisassembly(*code, true); 14871 } 14872 14873 { 14874 // Test for https://bugs.webkit.org/show_bug.cgi?id=169867. 14875 14876 Procedure proc; 14877 BasicBlock* root = proc.addBlock(); 14878 root->appendNew<Value>( 14879 proc, Return, Origin(), 14880 root->appendNew<Value>( 14881 proc, BitXor, Origin(), 14882 root->appendNew<AtomicValue>( 14883 proc, AtomicStrongCAS, Origin(), width, 14884 root->appendIntConstant(proc, Origin(), type, 42), 14885 root->appendIntConstant(proc, Origin(), type, 0xbeef), 14886 root->appendNew<ArgumentRegValue>(proc, Origin(), GPRInfo::argumentGPR0)), 14887 root->appendIntConstant(proc, Origin(), type, 1))); 14888 14889 typename NativeTraits<T>::CanonicalType one = 1; 14890 14891 auto code = compileProc(proc); 14892 T value[2]; 14893 value[0] = 42; 14894 value[1] = 13; 14895 CHECK_EQ(invoke<typename NativeTraits<T>::CanonicalType>(*code, value), 42 ^ one); 14896 CHECK_EQ(value[0], static_cast<T>(0xbeef)); 14897 CHECK_EQ(value[1], 13); 14898 value[0] = static_cast<T>(300); 14899 CHECK_EQ(invoke<typename NativeTraits<T>::CanonicalType>(*code, value), static_cast<typename NativeTraits<T>::CanonicalType>(static_cast<T>(300)) ^ one); 14900 CHECK_EQ(value[0], static_cast<T>(300)); 14901 CHECK_EQ(value[1], 13); 14902 value[0] = static_cast<T>(-1); 14903 CHECK_EQ(invoke<typename NativeTraits<T>::CanonicalType>(*code, value), static_cast<typename NativeTraits<T>::CanonicalType>(static_cast<T>(-1)) ^ one); 14868 14904 CHECK_EQ(value[0], static_cast<T>(-1)); 14869 14905 CHECK_EQ(value[1], 13);
Note:
See TracChangeset
for help on using the changeset viewer.