Skip to content

Commit

Permalink
3.05.03 release
Browse files Browse the repository at this point in the history
  • Loading branch information
rparolin committed Mar 15, 2017
1 parent 651281e commit c151dc8
Show file tree
Hide file tree
Showing 20 changed files with 452 additions and 136 deletions.
7 changes: 7 additions & 0 deletions 3RDPARTYLICENSES.TXT
Original file line number Diff line number Diff line change
Expand Up @@ -100,4 +100,11 @@ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE.

==============================================================================

*No express or implied license to use PlayStation®4 libraries included.
PlayStation®4 development tools and libraries are subject to separate license
with Sony Interactive Entertainment LLC.

==============================================================================

6 changes: 6 additions & 0 deletions doc/EASTL.natvis
Original file line number Diff line number Diff line change
Expand Up @@ -388,5 +388,11 @@
</Expand>
</Type>

<Type Name="eastl::reverse_iterator&lt;*&gt;">
<DisplayString>{*(mIterator-1)}</DisplayString>
<Expand>
<ExpandedItem>mIterator-1</ExpandedItem>
</Expand>
</Type>

</AutoVisualizer>
30 changes: 26 additions & 4 deletions include/EASTL/chrono.h
Original file line number Diff line number Diff line change
Expand Up @@ -41,6 +41,9 @@

#if defined(EA_PLATFORM_MICROSOFT) && !defined(EA_PLATFORM_MINGW)
#include <thr/xtimec.h>
#elif defined(EA_PLATFORM_PS4)
#include <Dinkum/threads/xtimec.h>
#include <kernel.h>
#elif defined(EA_PLATFORM_APPLE)
#include <mach/mach_time.h>
#elif defined(EA_PLATFORM_POSIX) || defined(EA_PLATFORM_MINGW) || defined(EA_PLATFORM_ANDROID)
Expand Down Expand Up @@ -209,7 +212,7 @@ namespace chrono
typedef Period period;
typedef duration<Rep, Period> this_type;

#if defined(EA_COMPILER_NO_DEFAULTED_FUNCTIONS) || defined(CS_UNDEFINED_STRING)
#if defined(EA_COMPILER_NO_DEFAULTED_FUNCTIONS) || defined(EA_PLATFORM_PS4)
EA_CONSTEXPR duration()
: mRep() {}

Expand Down Expand Up @@ -534,6 +537,8 @@ namespace chrono
namespace Internal
{
#if defined(EA_PLATFORM_MICROSOFT) && !defined(EA_PLATFORM_MINGW)
#define EASTL_NS_PER_TICK 1
#elif defined EA_PLATFORM_PS4
#define EASTL_NS_PER_TICK _XTIME_NSECS_PER_TICK
#elif defined EA_PLATFORM_POSIX
#define EASTL_NS_PER_TICK _XTIME_NSECS_PER_TICK
Expand All @@ -556,9 +561,26 @@ namespace chrono
inline uint64_t GetTicks()
{
#if defined EA_PLATFORM_MICROSOFT
uint64_t t;
QueryPerformanceCounter(reinterpret_cast<LARGE_INTEGER*>(&t)); // TODO: migrate to rdtsc?
return t;
auto queryFrequency = []
{
LARGE_INTEGER frequency;
QueryPerformanceFrequency(&frequency);
return double(1000000000.0L / frequency.QuadPart); // nanoseconds per tick
};

auto queryCounter = []
{
LARGE_INTEGER counter;
QueryPerformanceCounter(&counter);
return counter.QuadPart;
};

EA_DISABLE_VC_WARNING(4640) // warning C4640: construction of local static object is not thread-safe (VS2013)
static auto frequency = queryFrequency(); // cache cpu frequency on first call
EA_RESTORE_VC_WARNING()
return uint64_t(frequency * queryCounter());
#elif defined EA_PLATFORM_PS4
return sceKernelGetProcessTimeCounter();
#elif defined(EA_PLATFORM_APPLE)
return mach_absolute_time();
#elif defined(EA_PLATFORM_POSIX) // Posix means Linux, Unix, and Macintosh OSX, among others (including Linux-based mobile platforms).
Expand Down
4 changes: 2 additions & 2 deletions include/EASTL/internal/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -105,8 +105,8 @@
///////////////////////////////////////////////////////////////////////////////

#ifndef EASTL_VERSION
#define EASTL_VERSION "3.05.02"
#define EASTL_VERSION_N 30502
#define EASTL_VERSION "3.05.03"
#define EASTL_VERSION_N 30503
#endif


Expand Down
Loading

0 comments on commit c151dc8

Please sign in to comment.