[jira] [Commented] (GEODE-2493) Replaces the locking and CAS operations provided in HostAsm with C++11 standards
[ https://issues.apache.org/jira/browse/GEODE-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15869218#comment-15869218 ] Jacob S. Barrett commented on GEODE-2493: - Replace {{HostAsm::atomicAdd}} and {{AtomicInc}} with {{[std::atomic|http://en.cppreference.com/w/cpp/atomic/atomic]}}. > Replaces the locking and CAS operations provided in HostAsm with C++11 > standards > > > Key: GEODE-2493 > URL: https://issues.apache.org/jira/browse/GEODE-2493 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob S. Barrett > > Several platform specific locking and CAS operations are implemented in > HostAsm and related files. These are not portable and require porting > efforts. They are also not well tested. Converting the C++11 standards allows > the compiler to choose the code or instructions that optimize the behavior > required. Most if not all of the functions these files provide can be > replaced with C++11 standard functions. > Some Examples: > On Solaris SPAC we have inline assembly. > On Solaris x86 we use Solaris specific runtime functions. > On Windows we use really old Win32 functions that have some non-standard > behavior. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (GEODE-2493) Replaces the locking and CAS operations provided in HostAsm with C++11 standards
[ https://issues.apache.org/jira/browse/GEODE-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15869213#comment-15869213 ] Jacob S. Barrett commented on GEODE-2493: - Replace {{HostAsm::nanoSleep}} and {{ACE_OS::nanosleep}} with {{[std::this_thread::sleep_for|http://en.cppreference.com/w/cpp/thread/sleep_for]}} using {{[std::crono::nanoseconds|http://en.cppreference.com/w/cpp/chrono/duration]}}. > Replaces the locking and CAS operations provided in HostAsm with C++11 > standards > > > Key: GEODE-2493 > URL: https://issues.apache.org/jira/browse/GEODE-2493 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob S. Barrett > > Several platform specific locking and CAS operations are implemented in > HostAsm and related files. These are not portable and require porting > efforts. They are also not well tested. Converting the C++11 standards allows > the compiler to choose the code or instructions that optimize the behavior > required. Most if not all of the functions these files provide can be > replaced with C++11 standard functions. > Some Examples: > On Solaris SPAC we have inline assembly. > On Solaris x86 we use Solaris specific runtime functions. > On Windows we use really old Win32 functions that have some non-standard > behavior. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (GEODE-2493) Replaces the locking and CAS operations provided in HostAsm with C++11 standards
[ https://issues.apache.org/jira/browse/GEODE-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15869186#comment-15869186 ] Jacob S. Barrett commented on GEODE-2493: - Replace {{HostAsm::getCpuCount}} with {{[std::thread::hardware_concurrency|http://en.cppreference.com/w/cpp/thread/thread/hardware_concurrency]}}. > Replaces the locking and CAS operations provided in HostAsm with C++11 > standards > > > Key: GEODE-2493 > URL: https://issues.apache.org/jira/browse/GEODE-2493 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob S. Barrett > > Several platform specific locking and CAS operations are implemented in > HostAsm and related files. These are not portable and require porting > efforts. They are also not well tested. Converting the C++11 standards allows > the compiler to choose the code or instructions that optimize the behavior > required. Most if not all of the functions these files provide can be > replaced with C++11 standard functions. > Some Examples: > On Solaris SPAC we have inline assembly. > On Solaris x86 we use Solaris specific runtime functions. > On Windows we use really old Win32 functions that have some non-standard > behavior. -- This message was sent by Atlassian JIRA (v6.3.15#6346)
[jira] [Commented] (GEODE-2493) Replaces the locking and CAS operations provided in HostAsm with C++11 standards
[ https://issues.apache.org/jira/browse/GEODE-2493?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=15869180#comment-15869180 ] Jacob S. Barrett commented on GEODE-2493: - Replace {{SpinLock}} class with C++11 style {{[BasicLockable|http://en.cppreference.com/w/cpp/concept/BasicLockable]}} class, {{spinlock_mutex}}. You can find several public domain examples of how to implement a {{spinlock_mutex}} that can be used with {{[std::lock_guard|http://en.cppreference.com/w/cpp/thread/lock_guard]}}. > Replaces the locking and CAS operations provided in HostAsm with C++11 > standards > > > Key: GEODE-2493 > URL: https://issues.apache.org/jira/browse/GEODE-2493 > Project: Geode > Issue Type: Task > Components: native client >Reporter: Jacob S. Barrett > > Several platform specific locking and CAS operations are implemented in > HostAsm and related files. These are not portable and require porting > efforts. They are also not well tested. Converting the C++11 standards allows > the compiler to choose the code or instructions that optimize the behavior > required. Most if not all of the functions these files provide can be > replaced with C++11 standard functions. > Some Examples: > On Solaris SPAC we have inline assembly. > On Solaris x86 we use Solaris specific runtime functions. > On Windows we use really old Win32 functions that have some non-standard > behavior. -- This message was sent by Atlassian JIRA (v6.3.15#6346)