[jira] [Commented] (GEODE-2493) Replaces the locking and CAS operations provided in HostAsm with C++11 standards

2017-02-15 Thread Jacob S. Barrett (JIRA)

[ 
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

2017-02-15 Thread Jacob S. Barrett (JIRA)

[ 
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

2017-02-15 Thread Jacob S. Barrett (JIRA)

[ 
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

2017-02-15 Thread Jacob S. Barrett (JIRA)

[ 
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)