Didn't add it to TNonNullPtr<TObjectPtr<>> on purpose. TObjectPtr is to track reference and gsl::not_null should only be used with UObject for argument and temporary variables.
#jira UE-220767
#rb Yoan.StAmant
[CL 35963956 by patrick boutot in ue5-main branch]
[FYI] Patrick.Boutot
Original CL Desc
-----------------------------------------------------------------
Add test for gsl::not_null. Add simple utilities to hash, serialize and optional. Add conversion to/from TNotNullPtr.
Didn't add it to TNonNullPtr<TObjectPtr<>> on purpose. TObjectPtr is to track reference and gsl::not_null should only be used with UObject for argument and temporary variables.
#jira UE-220767
#rb Yoan.StAmant
[CL 35934442 by patrick boutot in ue5-main branch]
Didn't add it to TNonNullPtr<TObjectPtr<>> on purpose. TObjectPtr is to track reference and gsl::not_null should only be used with UObject for argument and temporary variables.
#jira UE-220767
#rb Yoan.StAmant
[CL 35933319 by patrick boutot in ue5-main branch]
- Moved them into SDK.json
- Fixed up some deprecation warnings when tarrgeting macOS 13
- IOS is still using old .ini project setting method
#rb adam.kinge, carl.lloyd, zack.neyland
[CL 31651333 by josh adams in ue5-main branch]
Testing libpas's perf as a malloc already revealed some useful data about how the allocator performs on Windows (like that reserving and committing memory in separate syscalls is surprisingly expensive). Even if we don't use libpas as a UE malloc, running it in that mode is likely to reveal opportunities for improvement in those parts of libpas that the Verse GC uses.
The biggest change to libpas is introducing the global physical page cache, which is a heap of memory that starts out committed but gets tracked by the large sharing pool - so it will get decommitted after 300ms of nonuse. This means that if you're growing the heap, we allocate committed memory (single syscall to reserve and commit), but we still have a path to decommitting alignment slop. This made a 5-10% difference in VerseTestVMCmd's running time.
Resubmitting after making Core only depend on libpas on Windows (since for now, I only expose libpas as a malloc on Windows).
#rb andriy.tylychko
#rb andrew.scheidecker
#rb danny.couture
[CL 26811655 by phil pizlo in ue5-main branch]
[FYI] phil.pizlo
Original CL Desc
-----------------------------------------------------------------
Move libpas out of restricted and make it available as a malloc on Windows.
Testing libpas's perf as a malloc already revealed some useful data about how the allocator performs on Windows (like that reserving and committing memory in separate syscalls is surprisingly expensive). Even if we don't use libpas as a UE malloc, running it in that mode is likely to reveal opportunities for improvement in those parts of libpas that the Verse GC uses.
The biggest change to libpas is introducing the global physical page cache, which is a heap of memory that starts out committed but gets tracked by the large sharing pool - so it will get decommitted after 300ms of nonuse. This means that if you're growing the heap, we allocate committed memory (single syscall to reserve and commit), but we still have a path to decommitting alignment slop. This made a 5-10% difference in VerseTestVMCmd's running time.
#rb andriy.tylychko
#rb andrew.scheidecker
#rb danny.couture
[CL 26795519 by phil pizlo in ue5-main branch]