digitalmars.D.bugs - [Issue 7120] New: Scope Delegates + Delegate Literals
- d-bugmail puremagic.com (35/35) Dec 16 2011 http://d.puremagic.com/issues/show_bug.cgi?id=7120
- d-bugmail puremagic.com (10/10) Jan 02 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7120
- d-bugmail puremagic.com (13/13) Jan 06 2012 http://d.puremagic.com/issues/show_bug.cgi?id=7120
http://d.puremagic.com/issues/show_bug.cgi?id=7120
Summary: Scope Delegates + Delegate Literals
Product: D
Version: D2
Platform: Other
OS/Version: Windows
Status: NEW
Keywords: performance
Severity: normal
Priority: P2
Component: DMD
AssignedTo: nobody puremagic.com
ReportedBy: dsimcha yahoo.com
The following code apparently heap-allocates a closure even though doNothing()
takes a scope delegate. This happens when doNothing() is passed a delegate
literal. When it's passed the address of a named inner function, no heap
allocation takes place.
import core.memory;
void main() {
GC.disable();
foreach(j; 0..1_000_000_000) {
doIt();
}
}
void doIt() {
int i;
doNothing(() { i++; });
}
void doNothing(scope void delegate() dg) {
dg();
}
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Dec 16 2011
http://d.puremagic.com/issues/show_bug.cgi?id=7120
Kenji Hara <k.hara.pg gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Keywords| |patch
https://github.com/D-Programming-Language/dmd/pull/598
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 02 2012
http://d.puremagic.com/issues/show_bug.cgi?id=7120
Walter Bright <bugzilla digitalmars.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
CC| |bugzilla digitalmars.com
Resolution| |FIXED
10:41:20 PST ---
https://github.com/D-Programming-Language/dmd/commit/f19992a6ac4dde4d16db61104bebc9303173518d
https://github.com/D-Programming-Language/dmd/commit/21ce18fbc1241d4fbe06c2d78dd2114c4924b35a
--
Configure issuemail: http://d.puremagic.com/issues/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
Jan 06 2012









d-bugmail puremagic.com 