Commit Graph

941 Commits

Author SHA1 Message Date
nemerle f1f81c3789 Merge remote-tracking branch 'upstream/development' into compiletime_filerequest_code2 2022-01-08 21:25:48 +01:00
Nicholas Van Sickle 8b9e3d2175 Simplify disabling Value ctor for pointer types
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-07 09:53:14 -08:00
Nicholas Van Sickle 839bbd734a Make operator== avoid implicit comparisons
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-06 16:55:24 -08:00
Nicholas Van Sickle 25924c3d38 Use more explicit operator= override
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-06 16:54:57 -08:00
Nicholas Van Sickle e7f573d22a Make Value ctor explicit
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-06 16:48:07 -08:00
Michael Pollind 39c09ba6f7 chore: correct formatting and address comments
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2022-01-05 21:03:16 -08:00
Michael Pollind 21850aa73e chore: replace stack trace logic with StackRecorder
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2022-01-05 21:03:14 -08:00
Michael Pollind 833598d68f chore: remove signal handler
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2022-01-05 21:03:12 -08:00
Michael Pollind ada7c41a34 feature: add Exception Handler support for unix
REF: https://github.com/o3de/o3de/issues/5886

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2022-01-05 21:03:10 -08:00
Esteban Papp 09fd52ef73 AzCore Math tests produce errors that need to be disabled in debug (#6678)
* Tests produce errors that need to be disabled in debug

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* PR suggestion

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2022-01-05 16:07:52 -08:00
Esteban Papp af6af93dff Fixes Linux builds
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2022-01-05 14:23:32 -08:00
Nicholas Van Sickle d347a9d2c0 Fix Linux build (a static_assert unfortunately fires for Clang)
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-05 12:56:22 -08:00
Esteban Papp ddbcc68106 Merge branch 'development' into memory/overrideshim_removal
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

# Conflicts:
#	Code/Framework/AzCore/AzCore/Memory/AllocatorBase.cpp
#	Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapAllocator.cpp
#	Code/Framework/AzCore/AzCore/Memory/BestFitExternalMapSchema.cpp
#	Code/Framework/AzCore/AzCore/Memory/PoolSchema.cpp
#	Code/Framework/AzCore/AzCore/Memory/SystemAllocator.cpp
#	Code/Framework/AzCore/Tests/Memory/AllocatorBenchmarks.cpp
2022-01-05 11:34:52 -08:00
Nicholas Van Sickle acc6248ec9 Move deep comparison / copy to utils
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-05 11:31:09 -08:00
Esteban Papp 89067fe667 Memory/benchmarks (#5896)
* initial version ported from an old implementation

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* simplification of code

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Fixes a recursive loop

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Removing commented code of different options for getting memory usage of a process

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* PR comment (NULL->nullptr)

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Adds mulit-threaded tests

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Improving runtime and making the whole duration manageable

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Fixes Linux build

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Fixes for mac

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Fixes for HeapSchema to get a default block if none is passed

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Adds recording functionality (disabled) and a benchmark that can run recordings

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Removes Heap allocator from being possible to use as a SystemAllocator since it doesnt allow dynamic allocating (only works with pre-allocated blocks)

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* WIP trying to use SystemAllocator instead of raw reads

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Makes the recorded benchmark more stable

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* More stability changes, improvement on type usage within the benchmark, cleanup of unstable stats

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Adds benchmark files for Android

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Fixes Linux nounity build

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* PR comments

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>

* Death test relies on an exception from ocurring, that exception is an access violation, which could not happen (i.e. the memory could be valid for the process)
The test didnt have to be a death test. Also handled the situation better in the code to be able to continue in that scenario (useful for release configurations)"

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2022-01-05 10:40:03 -08:00
Esteban Papp c548fd7682 Death test relies on an exception from ocurring, that exception is an access violation, which could not happen (i.e. the memory could be valid for the process) (#6683)
The test didnt have to be a death test. Also handled the situation better in the code to be able to continue in that scenario (useful for release configurations)"

Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2022-01-05 08:15:08 -08:00
Nicholas Van Sickle 41c0fb2b02 Address some review feedback
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2022-01-04 17:41:58 -08:00
Nicholas Van Sickle e518faa8be Merge remote-tracking branch 'upstream/development' into nvsickle/GenericDomDocument 2022-01-04 15:41:17 -08:00
Chris Galvan aa17120f09 Merge pull request #6496 from pollend/chore/add-assets-plane
chore: add assertions to plane to ensure normalization
2022-01-03 12:29:42 -06:00
Benjamin Jillich 79dd65e1cc Quaternion shortest equivalent (#6472)
* Added new helper functions to get the shortest equivalent of the rotation. In case the w component of the quaternion is negative the rotation is > 180° and taking the longer path. The quaternion will be inverted in that case to take the shortest path of rotation.
* Added unit test.
* Renamed the angle parameter of the CreateRotationX/Y/Z() functions into angleInRadians.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2022-01-03 10:20:27 +01:00
Michael Pollind 81b2841bd2 chore: correct text for assertion
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-28 09:16:48 -08:00
Chris Galvan 24a3014e06 Merge pull request #6318 from aws-lumberyard-dev/PathSerializationSupport
Introduced a Json Serializer for the AzCore mutable path classes
2021-12-27 13:16:39 -06:00
Jeremy Ong c3de8034eb Merge pull request #6560 from aws-lumberyard-dev/RemoveTimeTests
Remove time tests that relied on main-thread sleeps
2021-12-24 10:34:10 -07:00
Jeremy Ong 174e27cbfb Merge pull request #6559 from aws-lumberyard-dev/NullVariableInterfaceOptimization
Disambiguate null interface case
2021-12-24 10:33:58 -07:00
Jeremy Ong 5b76d47e17 Remove time tests that relied on main-thread sleeps
Sleeping in tests and attempting to rely on fine-grained measurements to
check code validity is intrinsically brittle. Wall-clock time is
unreliable in an environment where tests are run under a hypervisor that
may choose to suspend your VM at any point, or in situations where the
OS cannot schedule your thread in time. The correct way to reintroduce
these tests in the future is provide an override for the timestamp
queries that can be injected in the test environment to control the wall
time deterministically.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-12-23 17:15:49 -07:00
Jeremy Ong 6660c365b9 Disambiguate null interface case
In some cases, the interface being queried may be persistently nullptr
(e.g. a gem isn't active, or a feature was disabled by a cvar). In this
case, querying the interface would always enter the writer-lock branch
with existing code because nullptr was synonmous with "we haven't
queried for this variable yet."

This PR adds an additional state variable that is set when s_instance is
assigned to, so that after the variable is queried and found to be null,
future queries can enter the read-lock branch.

Signed-off-by: Jeremy Ong <jcong@amazon.com>
2021-12-23 16:25:44 -07:00
Michael Pollind 7dac0bac0d chore: remove "using namespace " from AZCore Math (#6372)
* chore: remove "using namespace " from AZCore Math

REF: https://github.com/o3de/o3de/issues/6281

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: fix formatting

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-22 13:11:41 -08:00
Nicholas Van Sickle 8732fab192 One more compile fix
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-22 12:35:44 -08:00
Michael Pollind cb740a3b3e chore: remove "using namespace AZ" from AZCore Script (#6366)
* chore: remove "using namespace AZ" from AZCore Script

REF: https://github.com/o3de/o3de/issues/6281

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: address changes

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-22 11:51:47 -08:00
Nicholas Van Sickle f69b9b817c Round of clang compile fixes
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-22 11:03:51 -08:00
Nicholas Van Sickle fd70a2207e Address a few other small pieces of feedback
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-21 16:47:13 -08:00
Nicholas Van Sickle deb3568aaa Fix up a couple opaque value cases
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-21 16:19:32 -08:00
Nicholas Van Sickle 68c93273d6 Add 8 and 16 bit numeric type API
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-21 16:09:11 -08:00
Nicholas Van Sickle 37330c43a9 Address some more Generic Dom Value perf feedback
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-21 15:47:42 -08:00
Nicholas Van Sickle 1da99eaea0 Add type-safe GetTypeIndex instead of hardcoded index lookups
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-20 18:27:00 -08:00
Nicholas Van Sickle bbd00adade Address some AZ::Dom::Value feedback
- Use a vector for shared string storage (to avoid the double heap allocation for AZStd::string)
- Use a shared heap allocated any for opaque types (instead of an unsafe ref)
- Add a string comparison key lookup benchmark to measure the impact of Name

Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-20 16:54:06 -08:00
Mike Balfour 1845eba6ee Fixed compile error.
Signed-off-by: Mike Balfour <82224783+mbalfour-amzn@users.noreply.github.com>
2021-12-20 16:33:36 -06:00
Mike Balfour a07534ea51 Merge commit '7e5115114ca9500abf67095acb71fbb6087d06c8' into mbalfour/gitflow_211220_stabilization_2111RTE 2021-12-20 14:43:13 -06:00
Nicholas Van Sickle 748f2a5c05 Merge remote-tracking branch 'upstream/development' into nvsickle/GenericDomDocument 2021-12-20 11:51:15 -08:00
amzn-sean fea4d0e6b1 adding TimeSystem unit tests (#6446)
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
2021-12-20 14:32:25 +00:00
Michael Pollind e58d8815f1 chore: add assertions to plane to ensure normalization
Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-18 17:40:44 -08:00
Nemerle d8e06d9d95 Apply reviewer suggestions
Signed-off-by: Nemerle <nemerle5+git@gmail.com>
2021-12-17 16:02:33 +01:00
Michael Pollind 2ddf55474e chore: remove "using namespace " from AZCore Memory (#6373)
* chore: remove "using namespace " from AZCore Memory

REF: https://github.com/o3de/o3de/issues/6281

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: fix formatting

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: fix indentation for AllocatorBase.cpp

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: fix formatting

Signed-off-by: Michael Pollind <mpollind@gmail.com>

* chore: address minor checkstyle problems

Signed-off-by: Michael Pollind <mpollind@gmail.com>
2021-12-17 13:26:31 +00:00
Benjamin Jillich d20aa935ba Quaternion to scaled-axis angle representation (and back) helpers (#6421)
Direct conversion helpers for quaternion to the scaled axis-angle representation and back without the need to convert them first to the axis-angle format and manually scale (or normalize on the way back). This also avoids having to deal with the special case of an identity representation which is 0,0,0 in the scaled axis-angle format while our convention for axis-angle is 0,1,0 for the axis and 0 for the angle.

Added unit tests that check the conversion round-trips from quaternion -> (scaled) axis-angle -> quaternion as well as comparing the scaled axis-angle representations from the direct helper functions as well as the axis-angle while manually scaling/normalizing.

Signed-off-by: Benjamin Jillich <jillich@amazon.com>
2021-12-17 09:43:35 +01:00
Esteban Papp d108fe4804 Addresses PR comments
Signed-off-by: Esteban Papp <81431996+amznestebanpapp@users.noreply.github.com>
2021-12-16 18:31:19 -08:00
Nicholas Van Sickle 10cb618ba6 Merge remote-tracking branch 'upstream/development' into nvsickle/GenericDomDocument 2021-12-15 10:24:39 -08:00
Nicholas Van Sickle 352b4ab690 Make DomValue final
Signed-off-by: Nicholas Van Sickle <nvsickle@amazon.com>
2021-12-15 10:23:58 -08:00
amzn-sean 33bfdc0bd3 corrected implementation of GetRealElapseTime (#6422)
Signed-off-by: amzn-sean <75276488+amzn-sean@users.noreply.github.com>
2021-12-15 16:44:38 +00:00
Chris Galvan 50e06ea8c5 Merge pull request #6328 from tjmgd/bug-lua-debugging-62
Fix: Lua script debugging loading problem
2021-12-15 09:58:11 -06:00
Chris Galvan 0a31483faa Merge pull request #6333 from tjmgd/bug-lua-breakpoint-67
Fix: Lua breakpoint error
2021-12-15 09:57:54 -06:00