CoreAllocator Changes
Version 1.04.05 (Jan 13, 2020)
Version 1.04.03 (May 30, 2019)
- Removing Xenon code paths.
Version 1.04.02 (September 25th, 2015)
- Converted initialize.xml to structured-XML which fixes warnings generated by Framework.
Version 1.04.01 (July 27th, 2015)
- Made coreallocator build as a Utility package.
Version 1.04.00 (September 9, 2013)
- Added CORE_NEW_ARRAY_PRIVATE, which allows you to use CORE_NEW_ARRAY for a class that has a protected or private constructor. There isn't a need for a CORE_NEW_PRIVATE function, as it already is compatible with protected and private constructors. Suggested by
Safet Hrbinic.
- Added CORE_DELETE_ARRAY_PRIVATE to match CORE_DELETE_PRIVATE.
Version 1.03.11 (March 04, 2013)
- Changed buildable attribute in Manifest to true otherwise solution generation fails with fw2 for test group.
- Revised CORE_DELETE_PRIVATE to allow passing in a member variable allocator of the class to be deleted. This involved creating a temporary copy of the allocator.
- Revised macro arguments to use trailing underscores as opposed to leading underscores to avoid any questions about whether the usage is safe due to the C and C++ language restrictions regarding leading underscores in user code.
- Made the user-facing allocation macros use size_t instead of unsigned int for types that are normally size_t (alignment, alignment offset).
Version 1.03.10 (August 7th, 2012)
- Added additional platform support.
Version 1.03.09 (July 3, 2012)
- Added two new macros, CORE_NEW_ARRAY_UNINITIALIZED and CORE_NEW_ARRAY_ALIGN_UNINITIALIZED, to avoid warning 4345 when allocating arrays of structs without a default constructor.
- FreeBSD64 support added.
Version 1.03.08 (May 7, 2012)
- Made CreateArray unilaterally use a 16 bit alignment offset. This has no effect on 64 bit platforms but increases by 8 bytes for 32 bit platforms. While more memory is being used, it's probably small compared to the total being allocated. This change allows CORE_NEW to work with heaps other than PPMalloc and allows it to work with 32 bit PPMalloc when PPM_MIN_ALIGN is set to 16.
Version 1.03.07 (21-Dec-11)
- Fixed compiler issues for ps3 for CORE_NEW ops against types that use alignment greater than 16 bytes.
Version 1.03.06 (02-May-11)
- Parentheses added around CORE_FREE and CORE_FREE_SIZE macros.
- Added CodeStripper support scripts.
- Added developer license agreement and copyright notice file to package distribution.
Version 1.03.05 (09-Jun-10)
- This version provides updates for mobile platforms and for the CodeWarrior (1.3) and PS3 SN (330) compilers.
Version 1.03.04 (05-Mar-10)
- This is a minor release that fixes a header file name inclusion on Unix builds as well as corrects a warning issued in 64-bit builds that the DebugParams structure has padding added.
Version 1.03.03 (15-Jun-09)
- This change fixes a build error that shows up when a PS3 PRX module is being created that uses a library that's statically-linked into the PRX. Thanks to Arpit Baldeva for this change.
Version 1.03.02 (16-Sep-08)
- Changed a couple of backslashes in some header paths to slashes, to improve Unix compatibility.
Version 1.03.01 (05-Feb-08)
- Fixed an issue where the AllocDebug functions (which are virtual but have inline implementations) could be multiply defined in a DLL build. However, the fix introduces a warning (4275) which must be disabled in client code whereever the ICoreAllocator abstract class is subclassed.
Version 1.03.00 (10-Oct-07)
- Release notes link. Credit goes to Heny Allen, Olivier Nallet, Stephen Rozner, Jeff Skelton, and Andy Younger for making this proposal.
Version 1.02.05 (01-Jun-07)
- Made this into a Framework2 package by adding frameworkVersion and buildable tags to the manifest file. There are no code changes.
Version 1.02.04 (31-Aug-05)
- Added a newline character at the end of icoreallocator_interface.h to make it compatible with GCC 4.x (PS3 compiler).
Version 1.02.03 (29-Apr-05)
- Added virtual destructor to the ICoreAllocator class, which was inadvertently omitted from previous releases.
- Added __declspec(dllexport) to ICoreAllocator base class definition if EA_DLL is defined. This allows clients to not suppress warning C4275 when they want to export a class derived from ICoreAllocator.
Version 1.02.02 (15-Dec-04)
- Added some notes about use of specialized new operators in icoreallocator.h.
- Added source/newdelete.cpp, which provides implementations of standard new and delete operators. These implementions use the GetDefaultAllocator function and the source file can be linked directly into the executable.
Version 1.02.01 (12-Nov-04)
- Added #include "stddef.h" for size_t definition. This was done for the benefit of people wanting to lint their code and for compatibility with GNU-based compilers, which don't treat size_t as a built-in type, unlike MS compilers.
Version 1.02.00 (08-Oct-04)
- Type for size of allocated memory blocks changed from unsigned int to size_t for future 64-bit portability.
Version 1.01.00 (01-Oct-04)
Version 1.00.01 (01-Oct-04)
- Added some casts from size_t to unsigned int to prevent compiler warnings - Split up header file into interface definition and new/delete operator definitions to allow people to use just the interface without getting the new and delete operator overloads.
Version 1.00.00 (01-Oct-04)