- Code: Select all
template <typename Type>
inline Type Atomic<Type>::exchange (const Type newValue) throw()
{
#if JUCE_ATOMICS_ANDROID
return castFrom32Bit (__atomic_swap (castTo32Bit (newValue), (volatile int*) &value));
#elif JUCE_ATOMICS_MAC || JUCE_ATOMICS_GCC
Type currentVal = value;
stuck here >>> while (! compareAndSetBool (newValue, currentVal)) { currentVal = value; }
return currentVal;
#elif JUCE_ATOMICS_WINDOWS
return sizeof (Type) == 4 ? castFrom32Bit ((int32) juce_InterlockedExchange ((volatile long*) &value, (long) castTo32Bit (newValue)))
: castFrom64Bit ((int64) juce_InterlockedExchange64 ((volatile __int64*) &value, (__int64) castTo64Bit (newValue)));
#endif
}
- Code: Select all
0 exchange juce_Atomic.h 267 0x80cfe3b
1 atomicSwap juce_CharPointer_UTF8.h 565 0x80cfe3b
2 juce::String::operator= juce_String.cpp 254 0x80cfe3b
3 juce::XmlDocument::getDocumentElement juce_XmlDocument.cpp 120 0x8156587
4 juce::XmlDocument::parse juce_XmlDocument.cpp 57 0x81568fe
5 juce::FreeTypeInterface::FreeTypeInterface() 0 0x8446eb2
6 getInstance juce_linux_Fonts.cpp 451 0x84300ac
7 linux_getDefaultSansSerifFontName juce_linux_Fonts.cpp 543 0x84300ac
8 juce::Font::getPlatformDefaultFontNames juce_linux_Fonts.cpp 567 0x84300ac
9 juce::LookAndFeel::LookAndFeel juce_LookAndFeel.cpp 304 0x832f050
10 juce::LookAndFeel::setDefaultLookAndFeel juce_LookAndFeel.cpp 368 0x834b77a
11 juce::initialiseJuce_GUI juce_Initialisation.cpp 121 0x80e3522
12 ScopedJuceInitialiser_GUI juce_Initialisation.h 122 0x81ec82d
13 juce::JUCEApplication::main juce_Application.cpp 217 0x81ec82d
14 juce::JUCEApplication::main juce_Application.cpp 264 0x81ecac5
15 main Application.cpp 142 0x804f37c

