digitalmars.D - DMD generates calls to next operation
- Jeroen Bollen (28/28) May 20 2014 While inspecting assembly code generated by DMD I found this
- Artur Skawina via Digitalmars-d (3/13) May 20 2014 http://forum.dlang.org/post/mailman.427.1364814654.4724.digitalmars-d-le...
- Jeroen Bollen (3/17) May 20 2014 Thanks :P
While inspecting assembly code generated by DMD I found this
weird bit of assembly:
0000000000000000 <_Dmain>:
0: 55 push rbp
1: 48 8b ec mov rbp,rsp
4: 48 83 ec 10 sub rsp,0x10
8: c7 45 f8 05 00 00 00 mov DWORD PTR [rbp-0x8],0x5
f: c7 45 f8 06 00 00 00 mov DWORD PTR [rbp-0x8],0x6
16: 48 89 ef mov rdi,rbp
19: e8 00 00 00 00 call 1e <_Dmain+0x1e>
1e: 31 c0 xor eax,eax
20: c9 leave
21: c3 ret
22: 66 0f 1f 44 00 00 nop WORD PTR [rax+rax*1+0x0]
It seems to call/jump to the operation right after it. Why does
it do that?
Code:
void main() {
int x = 5;
void innerFunc() {
import std.stdio;
writeln(x);
}
x = 6;
innerFunc();
}
Also I don't really get where it's supposed to call innerFunc. It
seems it's never mentioned inside the generated main function.
May 20 2014
On 05/20/14 21:46, Jeroen Bollen via Digitalmars-d wrote:While inspecting assembly code generated by DMD I found this weird bit of assembly:19: e8 00 00 00 00 call 1e <_Dmain+0x1e> 1e: 31 c0 xor eax,eax 20: c9 leave 21: c3 ret 22: 66 0f 1f 44 00 00 nop WORD PTR [rax+rax*1+0x0] It seems to call/jump to the operation right after it. Why does it do that?http://forum.dlang.org/post/mailman.427.1364814654.4724.digitalmars-d-learn puremagic.com artur
May 20 2014
On Tuesday, 20 May 2014 at 19:55:17 UTC, Artur Skawina via Digitalmars-d wrote:On 05/20/14 21:46, Jeroen Bollen via Digitalmars-d wrote:Thanks :PWhile inspecting assembly code generated by DMD I found this weird bit of assembly:19: e8 00 00 00 00 call 1e <_Dmain+0x1e> 1e: 31 c0 xor eax,eax 20: c9 leave 21: c3 ret 22: 66 0f 1f 44 00 00 nop WORD PTR [rax+rax*1+0x0] It seems to call/jump to the operation right after it. Why does it do that?http://forum.dlang.org/post/mailman.427.1364814654.4724.digitalmars-d-learn puremagic.com artur
May 20 2014








"Jeroen Bollen" <jbinero gmail.com>