Commit Graph

35 Commits

Author SHA1 Message Date
Robert Manuszewski
f4fb4b8596 Copying //UE4/Dev-Core to //UE4/Dev-Main (Source: //UE4/Dev-Core @ 2996057)
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2975196 on 2016/05/12 by Robert.Manuszewski

	Garbage Collector will no longer be responsible for generating class token stream, instead the token stream will be generated on startup or when a class has finished loading.

	- This way we can avoid very long GC times after new blueprints have been loaded.
	- Temporarily enabled CLASS_TokenStreamAssembled check in development builds (for testing purposes)

Change 2993960 on 2016/05/30 by Robert.Manuszewski

	Fixing leaked linkers created by blocking load requests during async loading.

Change 2959398 on 2016/04/28 by Steve.Robb

	TMap references are strong and cannot be nulled by pending kill.  This makes references in values strong too, even though we only really care about keys, which will corrupt the map when nulled.

	#jira UE-20828

Change 2960723 on 2016/04/29 by Graeme.Thornton

	Fix for texture asset import data being ignored when async loaded

Change 2960938 on 2016/04/29 by Robert.Manuszewski

	Nulling out sql db handle after closing it.

Change 2967127 on 2016/05/05 by Steve.Robb

	Move constructors explicitly disabled in generated code.

Change 2967143 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2967164 on 2016/05/05 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer

Change 2968650 on 2016/05/06 by Steve.Robb

	Fix for HotReload copying module manager.

Change 2968915 on 2016/05/06 by Robert.Manuszewski

	Fixing spelling of SetImageIntegrityStatus function name.

Change 2970406 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	Function uses '...' bytes of stack:  exceeds /analyze:stacksize '81940'.  Consider moving some data to heap.

Change 2970419 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.
	warning C6011: Dereferencing NULL pointer '...'.
	warning C6385: Reading invalid data from '...':  the readable size is '...' bytes, but '...' bytes may be read.
	warning C6386: Buffer overrun while writing to '...':  the writable size is '...' bytes, but '...' bytes might be written.

Change 2970431 on 2016/05/09 by Steve.Robb

	Static analysis fixes:

	warning C6299: Explicitly comparing a bit field to a Boolean type will yield unexpected results.

Change 2972032 on 2016/05/10 by Steven.Hutton

	Workflow fixes to bugg / crashgroup filtering. Filters should now correctly persist across queries.

Change 2972085 on 2016/05/10 by Steve.Robb

	Const-correctness fix for FLogCategoryBase::IsSuppressed.

Change 2972087 on 2016/05/10 by Steve.Robb

	ELogVerbosity moved into its own header.

Change 2972090 on 2016/05/10 by Steve.Robb

	Redundant ensure removed.

Change 2972103 on 2016/05/10 by Steve.Robb

	Removal of redundant use of USING_CODE_ANALYSIS.

Change 2972139 on 2016/05/10 by Steve.Robb

	Fix for ensure macros throwing C6326 warnings during static analysis.

Change 2972147 on 2016/05/10 by Steve.Robb

	Fix for UE_LOG_ACTIVE macro throwing C6326 warnings during static analysis.

Change 2972162 on 2016/05/10 by Steve.Robb

	SCOPE_CYCLE_COUNTER_GUARD removed.

Change 2972168 on 2016/05/10 by Steve.Robb

	Compile error fix for logOrEnsureNanError in static analysis builds.

Change 2973084 on 2016/05/10 by Chris.Wood

	Crash Report Server performance tweak

Change 2974030 on 2016/05/11 by Steve.Robb

	Fix for IPropertyHandle::SetValue - used to take a non-const reference to a const UObject*, now it takes const references to both non-const and const UObject*.

Change 2974053 on 2016/05/11 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2974191 on 2016/05/11 by Steve.Robb

	Fix for template instantiation error in VS2013.

Change 2975298 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2975318 on 2016/05/12 by Steve.Robb

	Fix for hot reload info being reported as warnings.

	#jira UE-30586

Change 2975447 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.  Did you intend to use the bitwise-and operator?
	warning C6285: (<non-zero constant> || <non-zero constant>) is always a non-zero constant.  Did you intend to use the bitwise-and operator?
	warning C6286: (<non-zero constant> || <expression>) is always a non-zero constant.  <expression> is never evaluated and might have side effects.
	warning C6289: Incorrect operator:  mutual exclusion over || is always a non-zero constant.  Did you intend to use && instead?
	warning C6316: Incorrect operator:  tested expression is constant and non-zero.  Use bitwise-and to determine whether bits are set.

Change 2975478 on 2016/05/12 by Steve.Robb

	Static analysis fixes for lots of redundant <zero constant> and <non-zero constant> warnings.

Change 2975538 on 2016/05/12 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'StaticResource'

Change 2976640 on 2016/05/13 by Robert.Manuszewski

	Fixing crashes caused by token stream generation changes. Making sure the token stream gets re-generated when a class gets re-linked.

	#jira UE-30675

Change 2978320 on 2016/05/16 by Steve.Robb

	Fix for static analysis warnings in XNA headers.

Change 2978329 on 2016/05/16 by Steve.Robb

	Static analysis fixes:

	warning C6334: sizeof operator applied to an expression with an operator might yield unexpected results:  Parentheses can be used to disambiguate certain usages.

Change 2980222 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2980458 on 2016/05/17 by Chris.Wood

	Attempt to fix crash report submission problems from CRP to CR website
	[UE-30257] - Crashreports are sometimes missing file attachments

	Passing crash GUID so that website can easily check for duplicates in future
	Increased request timeout for AddCrash to be longer than website database timeout
	Logging retries for future visibility
	CRP v.1.1.6

Change 2980639 on 2016/05/17 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'X'.
	warning C28182: Dereferencing NULL pointer. 'X' contains the same NULL value as 'Y' did.

Change 2981750 on 2016/05/18 by Steve.Robb

	check()s in ContainerAllocationPolicies.h changed to checkSlow()s, as they only exist to check that the container has been written correctly.

Change 2982106 on 2016/05/18 by John.Mahoney

	Fixed a crash caused by loading two stat capture files simultaneously in the profiler.
	If the user tries to load a capture file while another load is in progress, the previous load is now cancelled and cleaned up before proceeding with the new load.
	Made the delegates in FNewStatsReader explicitly specify which profiler instance they are loading data for, instead of relying on the current value of LoadConnection->InstanceId.
	This also fixes a crash that occurs when selecting a different capture file in the "Stats dump browser" pane of the profiler (after using Load Folder) while another file is still loading.
	Cleaned up some weak pointer usage in the profiler window.

	#jira UE-30741

Change 2983366 on 2016/05/19 by Steven.Hutton

	Changes for passing crash type directly from CRP to CRW.

Change 2983394 on 2016/05/19 by Steven.Hutton

	Minor changes to add crash with more error reporting

Change 2984685 on 2016/05/20 by Robert.Manuszewski

	Merging //UE4/Dev-Main @ 2984626 to Dev-Core (//UE4/Dev-Core)

Change 2985143 on 2016/05/20 by Steve.Robb

	Missing semi-colons.

Change 2986463 on 2016/05/23 by Steve.Robb

	CopyTemp added to make it clear that you want to make a copy (rather than a move, or an accidental copy) at the call site of a function taking rvalue refs.

Change 2986475 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986476 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6313: Incorrect operator:  zero-valued flag cannot be tested with bitwise-and.

Change 2986480 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant

Change 2986515 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6340: Mismatch on sign: 'X' passed as _Param_(N) when some unsigned type is required in call to 'Func'

Change 2986680 on 2016/05/23 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'Ptr':  the writable size is 'X' bytes, but 'Y' bytes might be written.
	warning C6387: 'Ptr' could be '0':  this does not adhere to the specification for the function 'Func'
	warning C6031: Return value ignored: 'snprintf'.
	warning C6340: Mismatch on sign: 'const unsigned int' passed as _Param_(4) when some signed type is required in call to 'snprintf'.

Change 2986865 on 2016/05/23 by Robert.Manuszewski

	Removing redundand AddReferencedObjects functions

Change 2987968 on 2016/05/24 by Robert.Manuszewski

	Removing redundant UPROPERTY macros from intrinsic classes.

Change 2987979 on 2016/05/24 by Steve.Robb

	Optimization of some FString and FPaths operations to produce fewer temporaries.

Change 2988297 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2988430 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6385: Reading invalid data from 'var':  the readable size is 'X' bytes, but 'Y' bytes may be read.

Change 2988461 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6235: (<non-zero constant> || <expression>) is always a non-zero constant.
	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.
	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.

Change 2988464 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6262: Function uses 'X' bytes of stack:  exceeds /analyze:stacksize 'Y'.  Consider moving some data to heap.

Change 2988494 on 2016/05/24 by Steve.Robb

	Static analysis fixes:

	warning C6237: (<zero> && <expression>) is always zero.  <expression> is never evaluated and might have side effects.

Change 2989411 on 2016/05/25 by Robert.Manuszewski

	Splitting GC cluster index and intenral object flags to allow more UObjects in editor builds.

Change 2989429 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6387: '_Param_(X)' could be '0':  this does not adhere to the specification for the function 'Func'.

Change 2989982 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6001: Using uninitialized memory 'LODPlanesMin'.

Change 2990018 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6386: Buffer overrun while writing to 'X'

Change 2990077 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6240: (<expression> && <non-zero constant>) always evaluates to the result of <expression>.
	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2990114 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6336: Arithmetic operator has precedence over question operator, use parentheses to clarify intent.

Change 2990125 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6239: (<non-zero constant> && <expression>) always evaluates to the result of <expression>.

Change 2990162 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C6294: Ill-defined for-loop:  initial condition does not satisfy test.  Loop body not executed.

Change 2990193 on 2016/05/25 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'type' contains the same NULL value as 'type->base_type' did.
	warning C6011: Dereferencing NULL pointer 'Semantic'.

Change 2991006 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28113: Accessing a local variable dummy via an Interlocked function:  This is an unusual usage which could be reconsidered.

Change 2991012 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6031: Return value ignored: 'InitializeCriticalSectionAndSpinCount'.

Change 2991013 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6287: Redundant code:  the left and right sub-expressions are identical.

Change 2991016 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6236: (<expression> || <non-zero constant>) is always a non-zero constant.

Change 2991017 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6326: Potential comparison of a constant with another constant.

Change 2991019 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6292: Ill-defined for-loop:  counts up from maximum.

Change 2991023 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6322: Empty _except block.
	warning C28251: Inconsistent annotation for 'WinMain': this instance has no annotations.

Change 2991070 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C28182: Dereferencing NULL pointer. 'Ptr1' contains the same NULL value as 'Ptr2' did.

Change 2991416 on 2016/05/26 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992738 on 2016/05/27 by Steve.Robb

	Revert changes to FString::MatchesWildcard.

Change 2992916 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2992960 on 2016/05/27 by Chris.Wood

	Optimized P4 access in Crash Report Process and MinidumpDiagostics.

Change 2992964 on 2016/05/27 by Steve.Robb

	Static analysis fixes:

	warning C6011: Dereferencing NULL pointer 'Ptr'.

Change 2993956 on 2016/05/30 by Robert.Manuszewski

	Fixing a crash after adding a new C++ class in the editor - made sure new classes have the token stream assembled after hot-reload.

	#jira UE-31309

Change 2993977 on 2016/05/30 by Robert.Manuszewski

	Don't wait for all packages to finish loading before PostLoading those which already have.

Change 2994206 on 2016/05/31 by Robert.Manuszewski

	PR #2429: Three bug fixes required for script support to work properly (Contributed by pluranium)

#lockdown Nick.Penwarden

[CL 2996251 by Robert Manuszewski in Main branch]
2016-06-01 12:08:56 -04:00
Robert Manuszewski
18e2561ceb Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2836261 on 2016/01/20 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Flush FAsyncPackage cache after pre-load to reduce peak memory usage when async loading (5.5-10x).

Change 2828630 on 2016/01/14 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Adding debug code to catch memory stomps in the async loading buffers that's independent from mallocstomp allocator. Changed the signature of PageProtect functions to be able to read-only protect memory.

Change 2816129 on 2016/01/05 by Steve.Robb@Dev-Core

	Fixes for Realloc and alignment logic which caused redundant reallocations and incorrect binning.

Change 2821054 on 2016/01/08 by Steve.Robb@Dev-Core

	Further Realloc savings when realigning within a block.

Change 2806820 on 2015/12/17 by Steve.Robb@Dev-Core

	New AlignDown function, like Align, but which rounds a value/pointer down to the next alignment instead of up.

Change 2806816 on 2015/12/17 by Steve.Robb@Dev-Core

	Sort UHT modules by type to improve iteration times in conjunction with makefiles.

Change 2823235 on 2016/01/11 by Steve.Robb@Dev-Core

	UHT error messages about missing GENERATED_BODY() macros updated to represent intended use.

Change 2806815 on 2015/12/17 by Steve.Robb@Dev-Core

	Module types split into Game and Engine runtime versions.

Change 2833809 on 2016/01/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	StaticLoadObject will now respect LOAD_NoRedirects flag.

Change 2811194 on 2015/12/22 by Bob.Tellez@Z2434_DevCore

	#UE4 Prevent loading packages that have a newer LegacyFileVersion since serialization for FCustomVersion is not forward compatible. UE-24443

Change 2806818 on 2015/12/17 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

Change 2807069 on 2015/12/17 by Steve.Robb@Dev-Core

	Clarification of some bucket hashing terminology.

Change 2815117 on 2016/01/04 by Steve.Robb@Dev-Core

	Fix for a missing root build path on game modules.

Change 2815673 on 2016/01/05 by Steve.Robb@Dev-Core

	Move FMalloc verification into a proxy object.

Change 2822873 on 2016/01/11 by Steve.Robb@Dev-Core

	Fixes to off-by-one errors and removal of BinnedSizeLimit (assumed to be the same as MAX_POOLED_ALLOCATION_SIZE after OBO fix).

Change 2822923 on 2016/01/11 by Steve.Robb@Dev-Core

	Simplification of MemSizeToPoolTable indexing.

Change 2824974 on 2016/01/12 by Steve.Robb@Dev-Core

	Assert fixed.
	AllocateBlockFromPool's return value made debuggable.

Change 2825241 on 2016/01/12 by Steve.Robb@Dev-Core

	UHT now returns an error code on a warning when -warningsaserrors is specified.

Change 2825291 on 2016/01/12 by Steve.Robb@Dev-Core

	WarningsAsErrors enabled on UHT, after disabling the hardcoded behavior in CL# 2825241.

Change 2829846 on 2016/01/15 by Steve.Robb@Dev-Core

	GitHub #1938 - wrong Max value of enum is used during net serialization

Change 2829914 on 2016/01/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Reduce the amount of memory allocated for async cache buffers when guarding against memory stomps.

Change 2829988 on 2016/01/15 by Steve.Robb@Dev-Core

	Generalized large pool allocations.
	More redundancy removed.

Change 2831935 on 2016/01/18 by Chris.Wood@Chris.Wood.StreamB

	Added UserActivity property to crash description in CRP and CR website.
	[OR-12043] - Phone Home where crashes occur - pass context info to Crash Reporter

	DB column added to db-09 by ColinR matching this change.
	Published to server on Jan 18th 2016

Change 2834003 on 2016/01/19 by Chris.Wood@Chris.Wood.StreamB

	Added Linux to normal callstack parsing code on CR website
	[UE-25527] - Linux CrashReporter is missing information

	Published to server on Jan 19th 2016

Change 2835466 on 2016/01/20 by Joe.Conley@Joe.Conley_EGJWD5708_Dev-Core-Minimal

	Fix issue for cancelling package loads when there are still packages queued.  Call their PackageLoadedDelegate with a "Cancelled" result.

	Should solve remaining issue with UE-24062 - "Calling CancelAsyncLoading triggers an assert in FAsyncPackage::DetachLinker()"
	- (ULevelStreaming::AsyncLevelLoadComplete was not being called if packages were still queued when cancel was issued)

Change 2836803 on 2016/01/20 by Chris.Wood@Chris.Wood.StreamB

	CrashReportWebsite - fix exception thrown when parsing certain callstack formats

Change 2837952 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changing FAsyncIORequest to be stored as reference when cancelling IO requests to improve performance.

Change 2838289 on 2016/01/21 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

[CL 2845588 by Robert Manuszewski in Main branch]
2016-01-27 12:09:53 -05:00
Matthew Griffin
bb70b349ce Merging CL 2804086 from //UE4/Release-4.11 to Dev-Main (//UE4/Dev-Main) to isolate copyright update
#lockdown Nick.Penwarden

[CL 2819020 by Matthew Griffin in Main branch]
2016-01-07 08:17:16 -05:00
Robert Manuszewski
97cc1e1be1 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2799478 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added Dev Stream custom versions.

	- Each stream now has its own custom version
	- Developers working in a stream should only modify their respective version

Change 2789867 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	UnrealHeaderTool plugins no longer need to be a separate plugin and don't require UnrealHeaderTool source code changes to work.

	- Merged ScriptGeneratorPlugin with ScriptPlugin
	- Introduced the concept of UHT plugin support for plugins so that UHT's source files don't need to be modified to make it work with external plugins
	- Added RuntimeNoProgram module type (module that can be used at runtime but not by program targets).
	- Fixed logic with project file path setting in the engine. It will no longer try to crate a full path from an already rooted path.

Change 2796114 on 2015/12/09 by Steve.Robb@Dev-Core

	TEnumRange - enabled ranged-based for iteration over enum values.

Change 2789843 on 2015/12/04 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	More thorough way of verifying GC cluster assumptions.

Change 2794221 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Don't merge GC clusters by default

Change 2797824 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Added the option to load all symbols for stack walking in non-monolithic builds.

Change 2790539 on 2015/12/04 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats/Profiler - Better handling for live connection, using the same path as file profiles, added FStatsLoadedState to separate runtime stats state from the loaded one

Change 2794183 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Always reset events when returning them to pool.

Change 2794406 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing -unversioned flag being completely ignored when cooking

Change 2794563 on 2015/12/08 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Making sure string referenced assets don't get cooked if referenced by editor-only properties.

Change 2795124 on 2015/12/08 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Fixed bad data in min/max/avg inclusive times, added min/max/avg num calls, fixed event graph tooltip not displaying correct values

Change 2796208 on 2015/12/09 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Remove support for multiple instances in the profiler (game thread is always visible, a few crash fixes, cleaned code a bit)

Change 2797658 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Allocation verification helpers. Helps with tracking down memory stomps, freeing the same pointers multiple times.

Change 2797699 on 2015/12/10 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fix incorrect asset loading in Cooked game data (by bozaro)

	PR #1844

Change 2798173 on 2015/12/10 by Steve.Robb@Dev-Core

	Migration of Fortnite to use engine's TEnumRange.

Change 2798217 on 2015/12/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1331
	[Core] Added a stomp allocator that allows finding memory overruns, underruns, and read/write after free. (Contributed by Pablo Zurita)

Change 2799605 on 2015/12/11 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Fixing a crash when cancelling async loading caused by detaching linker from objects that had RF_NeedLoad flag set.

Change 2799849 on 2015/12/11 by Steve.Robb@Dev-Core

	Migration of Ocean to use engine's TEnumRange.

Change 2803144 on 2015/12/15 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	Changed export tagging archive to also serialize class default objects using the normal Serialize path so that it can collect all custom versions used by exports.

Change 2803206 on 2015/12/15 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	#jira UE-24177
	Audit ôshippingö defines in engine

Change 2804868 on 2015/12/16 by Steve.Robb@Dev-Core

	Removal of stats from MallocBinned2, to be readded later.

#lockdown Nick.Penwarden

[CL 2805158 by Robert Manuszewski in Main branch]
2015-12-16 11:52:36 -05:00
Robert Manuszewski
dfc39a6ca5 Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2783106 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Introduced GC UObject clusters. GC clusters provide means to create disregard for GC subsets at load time (e.g. Materials with material expressions and their textures).

	- Saves about 25ms in reachability analysis (58ms -> 33ms)
	- UObject classes/instances can now be marked as cluster root objects with CanBeClusterRoot() function override.
	- Cluster creation is automatic. Clusters don't require any manual handling for GC to collect them when nothing is referencing them.
	- Moved token stream processing to a new class FFastReferenceFinder to make it more generic and re-usable by other code
	- Removed REFERENCE_INFO macro from GC code and replaced it with a local variable (saves about ~1.9ms: 33.2ms -> 31.3ms)

Change 2773094 on 2015/11/19 by Steve.Robb@Dev-Core

	Multicast script delegate check for existing bindings replaced with ensure.
	Multicast native delegate no longer checks for existing bindings.
	Removal of old delegate code.
	Some FORCEINLINEing to improve debugging experience of stepping into delegate code.

Change 2782180 on 2015/11/27 by Graeme.Thornton@GThornton_DesktopMaster

	Make scoped seconds timer class available outside of stats build. Normal usage macros still remain guarded
	Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE which only times during the outmost instance of a recursive function
	Added SCOPE_SECONDS_COUNTER_RECURSION_SAFE_BASE and SCOPE_SECONDS_COUNTER_BASE which are defined in all build types, for easy temporary timing in Test/Shipping builds.
	Added a boolean parameter to the timer class which can be used to disable it without having to mess around with scoping the calling code

Change 2782635 on 2015/11/30 by Graeme.Thornton@GThornton_DesktopMaster

	Added GetTimeStampPair() to the filemanager and platformfile interfaces. Requests timestamps for a pair of files where we assume that both files would always exist at the same wrapper level. Allows us to skip file system queries for localization package lookups where the native file is in a pak but the localized file doesn't exist.

Change 2775153 on 2015/11/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReportServer moved out of the not for licencees, a few fixes, removed RegisterPII

Change 2775560 on 2015/11/20 by Steve.Robb@Dev-Core

	FDelegateBase::GetDelegateInstance deprecated and replaced with FDelegateBase::GetDelegateInstanceProtected.

Change 2781138 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats - Converted is using a new stats reader, a few more optimizations, should be 10x times faster

Change 2772990 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Fixing potential dead lock when suspending and resuming async loading multiple times

Change 2773023 on 2015/11/19 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream2

	Support for references added through AddReferencedObjects in FArchiveReplaceObjectRef

Change 2781055 on 2015/11/25 by Steve.Robb@Dev-Core

	Changes to IDelegateInstance reverted to allow licensees an easier time when upgrading their use of the now-deprecated GetDelegateInstance() code path.
	New TryGetBoundFunctionName() to aid the debugging of delegate bindings in non-shipping configs.

Change 2773114 on 2015/11/19 by Steve.Robb@Dev-Core

	FMath::IsPowerOfTwo is now templated to take any type.

Change 2773643 on 2015/11/19 by Steve.Robb@Dev-Core

	GetDelegateInstance() calls replaced - delegate instances never compare equal unless you are comparing two unbound delegates (both null) or comparing a delegate with itself.

Change 2777686 on 2015/11/23 by Steve.Robb@Dev-Core

	GitHub #1793 - File write flags argument

Change 2780590 on 2015/11/25 by Steve.Robb@Dev-Core

	Fix for FArchiveProxy::operator<< overloads.

Change 2780845 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	#jira UE-23358 - MDD relies on hard-coded P4 depot paths (fixed source context for streams)

Change 2780962 on 2015/11/25 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Stats - Added FStatsWriteStream for basic saving stat messages into a stream, initial support for reading a regular stats file, minor performance optimization, coding standard fixes

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2781887 on 2015/11/26 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler/ProfilerClient - Removed unneeded synchronization points, replaces with task graph SendTo jobs, removed PROFILER_THREADED_LOAD, replaced with new stats loading mechanism,  should be around 2x times faster (4x since the optimization pass)

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2781893 on 2015/11/26 by Steve.Robb@Dev-Core

	TCachedOSPageAllocator abstracted from MallocBinned2.
	Misc tidy-ups.

Change 2782198 on 2015/11/27 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	Profiler - Better indication of the loading progress, should no longer freeze without a progress bar

	#jira UECORE-170 - Improve profiler loading performance (wip)

Change 2782446 on 2015/11/29 by Steve.Robb@Dev-Core

	Warn when calling delegates' Create* functions when they're not assigned to anything.

	#codereview robert.manuszewski

Change 2782538 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	#UE4 Removed DiskCachedAssetDataBuffer as it was not strictly necessary and was triggering a crash when loading the cached registry from disk. This data is now stored directly in DiskCachedAssetDataMap. It was already true that this map does not change outside of SerializeCache but now it is critical since NewCachedAssetDataMap keeps pointers directly to its values.

	Asset registry fixes by Bob Tellez. Possible fix for UE-23783.

Change 2782564 on 2015/11/30 by Robert.Manuszewski@Robert.Manuszewski_NCL_Stream1

	FReferenceCollector::AddReferenceObjects performance improvements for TArrays. ARO will no longer call HandleObjectReference multiple times but instead will call HandleObjectReferences just once (currently only implemented for FGCCollector). Reduces the number of virtual function calls while GC'ing.

Change 2782716 on 2015/11/30 by Steve.Robb@Dev-Core

	UObject serial number array initialized for debug visualization.

Change 2782933 on 2015/11/30 by Steve.Robb@Dev-Core

	Critical sections are no longer copyable.

Change 2783061 on 2015/11/30 by Steve.Robb@Dev-Core
2015-12-03 14:21:29 -05:00
Robert Manuszewski
f9cdeb96cd Copying //UE4/Dev-Core to //UE4/Main
==========================
MAJOR FEATURES + CHANGES
==========================

Change 2717513 on 2015/10/06 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	GC and WeakObjectPtr performance optimizations.

	- Moved some of the EObjectFlags to EInternalObjectFlags and merged them with FUObjectArray
	- Moved WeakObjectPtr serial numbersto FUObjectArray
	- Added pre-allocated UObject array

Change 2716517 on 2015/10/05 by Robert.Manuszewski@Robert_Manuszewski_EGUK_M1

	Make SavePackage thread safe UObject-wise so that StaticFindObject etc can't run in parallel when packages are being saved.

Change 2721142 on 2015/10/08 by Mikolaj.Sieluzycki@Dev-Core_D0920

	UHT will now use makefiles to speed up iterative runs.

Change 2726320 on 2015/10/13 by Jaroslaw.Palczynski@jaroslaw.palczynski_D1732_2963

	Hot-reload performance optimizations:
	1. Got rid of redundant touched BPs optimization (which was necessary before major HR fixes submitted earlier).
	2. Parallelized search for old CDOs referencers.

Change 2759032 on 2015/11/09 by Graeme.Thornton@GThornton_DesktopMaster

	Dependency preloading improvements
	 - Asset registry dependencies now resolve asset redirectors
	 - Rearrange runtime loading to put dependency preloads within BeginLoad/EndLoad for the source package

Change 2754342 on 2015/11/04 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	Allow UnfocusedVolumeMultiplier to be set programmatically

Change 2764008 on 2015/11/12 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	When cooking, don't add imports that are outers of objects excluded from the current cook target.

Change 2755562 on 2015/11/05 by Steve.Robb@Dev-Core

	Inline storage for TFunction.
	Fix for delegate inline storage on Win64.
	Some build fixes.
	Visualizer fixes for new TFunction format.

Change 2735084 on 2015/10/20 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	CrashReporter Web - Search by Platform
	Added initial support for streams (GetBranchesAsListItems, CopyToJira)

Change 2762387 on 2015/11/11 by Steve.Robb@Dev-Core

	Unnecessary allocation removed when loading empty files in FFileHelper::LoadFileToString.

Change 2762632 on 2015/11/11 by Steve.Robb@Dev-Core

	Some TSet function optimisations:

	Avoiding unnecessary hashing of function arguments if the container is empty (rather than the hash being empty, which is not necessarily equivalent).
	Taking local copies of HashSize during iterations.

Change 2762936 on 2015/11/11 by Steve.Robb@Dev-Core

	BulkData zero byte allocations are now handled by an RAII object which owns the memory.

Change 2765758 on 2015/11/13 by Steve.Robb@Dev-Core

	FName::operator== and != optimised to be a single comparison.

Change 2757195 on 2015/11/06 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1305: Improvements in CrashReporter for Symbol Server usage (Contributed by bozaro)

Change 2760778 on 2015/11/10 by Jaroslaw.Surowiec@Stream.1.JarekSurowiec

	PR #1725: Fixed typos in ProfilerCommon.h; Added comments (Contributed by BGR360)

	Also fixed starting condition.

Change 2739804 on 2015/10/23 by Robert.Manuszewski@Robert_Manuszewski_Stream1

	PR #1470: [UObjectGlobals] Do not overwrite instanced subobjects with ones from CDO (Contributed by slonopotamus)

Change 2744733 on 2015/10/28 by Steve.Robb@Dev-Core

	PR #1540 - Specifying a different Saved folder at launch through a command line parameter

	Integrated and optimized.

#lockdown Nick.Penwarden

[CL 2772222 by Robert Manuszewski in Main branch]
2015-11-18 16:20:49 -05:00
Jaroslaw Surowiec
8c324cffc2 UE-4235/UE4: Profiler cannot perform 2 captures in a row through UI (fixed filetransfer runnable not working after recent message bus changes)
[CL 2621687 by Jaroslaw Surowiec in Main branch]
2015-07-15 09:52:41 -04:00
Jaroslaw Surowiec
cc747e6a47 Profiler - Profiler will now load all frames, previously the last frame was ignored
[CL 2609541 by Jaroslaw Surowiec in Main branch]
2015-07-02 15:19:02 -04:00
Jaroslaw Surowiec
2d17d05d27 Profiler - Optimized data usage, converted TArray<uin8> to FString, requires only 4 time more bandwidth, but not 12, also UDP serializer is no longer an issue, compression/hex is done on the task graph
[CL 2552724 by Jaroslaw Surowiec in Main branch]
2015-05-15 10:26:05 -04:00
Jaroslaw Surowiec
341ab47a68 Core - UE-12192/Crash previewing capture data in session frontend
[CL 2550533 by Jaroslaw Surowiec in Main branch]
2015-05-14 08:13:44 -04:00
Jaroslaw Surowiec
bd0b362ea1 Core - UE-12192 / Crash previewing capture data in session frontend (removed a bunch of dead code, still WIP)
[CL 2524090 by Jaroslaw Surowiec in Main branch]
2015-04-24 06:29:06 -04:00
Jaroslaw Surowiec
a156331d5d Profiler - Fixes
[CL 2489031 by Jaroslaw Surowiec in Main branch]
2015-03-24 04:49:35 -04:00
Jaroslaw Surowiec
d4f2a1b641 Profiler - UE-10697 - Crash when opening Post Process Material with Live Data Preview running in Profiler (reimplemented with binary compatibility)
[CL 2467438 by Jaroslaw Surowiec in Main branch]
2015-03-03 05:20:51 -05:00
Jaroslaw Surowiec
dd209c1496 Profiler - UE-10697 - Crash when opening Post Process Material with Live Data Preview running in Profiler
[CL 2461928 by Jaroslaw Surowiec in Main branch]
2015-02-26 04:39:06 -05:00
Jaroslaw Surowiec
318962f6f9 Stats - Core implementation of the malloc profiler using the stats system (usage: run game with "-memoryprofiler", type in console "stat stopfile" to stop profiling)
#codereview Robert.Manuszewski

[CL 2446757 by Jaroslaw Surowiec in Main branch]
2015-02-16 04:53:09 -05:00
Jaroslaw Surowiec
beef593d5a Stats - Stats for async task running on the thread pool
[CL 2446649 by Jaroslaw Surowiec in Main branch]
2015-02-16 03:16:32 -05:00
Jaroslaw Surowiec
3071ee1789 Profiler - Fixed Filters'n'Presets not being updated
[CL 2416959 by Jaroslaw Surowiec in Main branch]
2015-01-23 11:46:28 -05:00
Steve Robb
0756ef15b9 Delegate comparisons deprecated, lots of other associated code deprecated, and lots of warning fixups:
* Multicast delegate Add* calls now return FDelegateHandles, and Remove* calls are now all deprecated, except for a new Remove function which takes a FDelegateHandle.
* New FConsoleManager::RegisterConsoleVariableSink_Handle and UnregisterConsoleVariableSink_Handle functions which work in terms of FConsoleVariableSinkHandle.
* Timer calls which don't take FTimerHandles are deprecated.
* FTicker::AddTicker now returns an FDelegateHandle and is removed by an overloaded Remove function.
* DEFINE_ONLINE_DELEGATE* macros now define _Handle variants of the Add/Remove functions which return/take handles.
* Various other handle-based registration changes.
* Some unity build fixes.
* Some simplification of delegate code.
* Fixes for lots of existing code to use handle-based registration and unregistration.

#codereview robert.manuszewski

[CL 2400883 by Steve Robb in Main branch]
2015-01-08 09:29:27 -05:00
Max Preussner
67daf9ac6a SessionServices: Made public headers compilable individually
[CL 2387548 by Max Preussner in Main branch]
2014-12-12 17:38:18 -05:00
Ben Marsh
149375b14b Update copyright notices to 2015.
[CL 2379638 by Ben Marsh in Main branch]
2014-12-07 19:09:38 -05:00
Mikolaj Sieluzycki
c49bfaac41 Back out splitting MessageEndpoint and MessageEndpointBuilder to .cpp and header.
[CL 2223238 by Mikolaj Sieluzycki in Main branch]
2014-07-18 10:09:45 -04:00
Mikolaj Sieluzycki
3eac0f9be7 Remove superfluous headers part 2 of n - Engine module cleanup, Animation headers.
#codereview Robert.Manuszewski

[CL 2219071 by Mikolaj Sieluzycki in Main branch]
2014-07-15 10:25:17 -04:00
Jaroslaw Palczynski
ebce413232 UE4 Refactoring. Changed OVERRIDE and FINAL macros to keywords override and final.
[CL 2104397 by Jaroslaw Palczynski in Main branch]
2014-06-13 06:14:46 -04:00
Max Preussner
3aece47882 Docs: Removed file comments and added missing code documentation
Please note that file comments had no purpose in nearly all cases and just added visual clutter. The two files that had meaningful file comments had their comments moved into the corresponding classes. There are still hundreds of file comments left in other files that will be removed over time.

Also cleaned up some random stuff along the way:
- relative paths to public headers within the same module are no longer necessary (automatically discovered by UBT now)
- header guards are deprecated, use #pragma once instead (all compilers support it now)
- space between multiple template brackets is no longer required (all compilers support >> now)
- NULL to nullptr, OVERRIDE to override
- spelling errors, whitespace, line breaks

[CL 2104067 by Max Preussner in Main branch]
2014-06-12 23:22:18 -04:00
Jaroslaw Surowiec
c50537fa33 Profiler - Removed unused code
[CL 2103258 by Jaroslaw Surowiec in Main branch]
2014-06-12 12:04:46 -04:00