Bug 19847 – no GC memory above 4GB reported with --DRT-gcopt=profile:1

Status
RESOLVED
Resolution
FIXED
Severity
minor
Priority
P1
Component
druntime
Product
D
Version
D2
Platform
x86_64
OS
All
Creation time
2019-05-06T07:23:42Z
Last change time
2019-05-06T08:11:46Z
Keywords
pull
Assigned to
No Owner
Creator
Rainer Schuetze

Comments

Comment #0 by r.sagitario — 2019-05-06T07:23:42Z
Build this program with -m64: void main() { ubyte[][] data; foreach(i; 0..10_000) data ~= new ubyte[1 << 20]; } and run it with "--DRT:gcopt=profile:1". It reports Number of collections: 14 Total GC prep time: 6 milliseconds Total mark time: 12 milliseconds Total sweep time: 29 milliseconds Max Pause Time: 11 milliseconds Grand total GC time: 47 milliseconds GC summary: 4076 MB, 14 GC 47 ms, Pauses 18 ms < 11 ms even though it allocates and retsins 10 GB of memory.
Comment #1 by dlang-bot — 2019-05-06T07:24:43Z
@rainers updated dlang/druntime pull request #2599 "GC: fix wrong profile result if more than 4GB used" fixing this issue: - fix issue 19847 - GC: fix wrong profile result if more than 4GB used https://github.com/dlang/druntime/pull/2599
Comment #2 by dlang-bot — 2019-05-06T08:11:46Z
dlang/druntime pull request #2599 "GC: fix wrong profile result if more than 4GB used" was merged into stable: - 0afc69e7c02d39dbee785ff584a369db14e4f956 by Rainer Schuetze: fix issue 19847 - GC: fix wrong profile result if more than 4GB used https://github.com/dlang/druntime/pull/2599