Script started on Sun 24 Jan 2016 08:00:50 PM FET
]0;context-rs ~/src/git (vi)[G[01;32mv@l:20:00:50:~/src/git/context-rs$ [01;0mrust-gdb -tui -args /mnt/src/git/context-rs/target/release/examples/save_and_load
[?1049h[1;47r(B[m[4l[?7h[?1h=[H[2J[32d(B[0;7mNone No process In:                                                                                                                                   Line: ??   PC: ?? [33;1H(B[m[H   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[2;4H(0[0mx(B[168G(0[0mx(B[3;4H(0[0mx(B[168G(0[0mx(B[4;4H(0[0mx(B[168G(0[0mx(B[5;4H(0[0mx(B[168G(0[0mx(B[6;4H(0[0mx(B[168G(0[0mx(B[7;4H(0[0mx(B[168G(0[0mx(B[8;4H(0[0mx(B[168G(0[0mx(B[9;4H(0[0mx(B[168G(0[0mx(B[10;4H(0[0mx(B[168G(0[0mx(B[11;4H(0[0mx(B[168G(0[0mx(B[12;4H(0[0mx(B[168G(0[0mx(B[13;4H(0[0mx(B[168G(0[0mx(B[14;4H(0[0mx(B[168G(0[0mx(B[15;4H(0[0mx(B[168G(0[0mx(B[16;4H(0[0mx(B[168G(0[0mx(B[17;4H(0[0mx(B[168G(0[0mx(B[18;4H(0[0mx(B[168G(0[0mx(B[19;4H(0[0mx(B[168G(0[0mx(B[20;4H(0[0mx(B[168G(0[0mx(B[21;4H(0[0mx(B[168G(0[0mx(B[22;4H(0[0mx(B[168G(0[0mx(B[23;4H(0[0mx(B[168G(0[0mx(B[24;4H(0[0mx(B[168G(0[0mx(B[25;4H(0[0mx(B[168G(0[0mx(B[26;4H(0[0mx(B[168G(0[0mx(B[27;4H(0[0mx(B[168G(0[0mx(B[28;4H(0[0mx(B[168G(0[0mx(B[29;4H(0[0mx(B[168G(0[0mx(B[30;4H(0[0mx(B[168G(0[0mx(B[31;4H(0[0mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B[1;4H(0[0m(B[16;62H[ No Source Available ][16;62H[23X[H   [16;62H[ No Source Available ][H[16;85H[?1h=
[33d[H[2J   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[2;4H(0[0mx(B[168G(0[0mx(B[3;4H(0[0mx(B[168G(0[0mx(B[4;4H(0[0mx(B[168G(0[0mx(B[5;4H(0[0mx(B[168G(0[0mx(B[6;4H(0[0mx(B[168G(0[0mx(B[7;4H(0[0mx(B[168G(0[0mx(B[8;4H(0[0mx(B[168G(0[0mx(B[9;4H(0[0mx(B[168G(0[0mx(B[10;4H(0[0mx(B[168G(0[0mx(B[11;4H(0[0mx(B[168G(0[0mx(B[12;4H(0[0mx(B[168G(0[0mx(B[13;4H(0[0mx(B[168G(0[0mx(B[14;4H(0[0mx(B[168G(0[0mx(B[15;4H(0[0mx(B[168G(0[0mx(B[16;4H(0[0mx(B[16;62H(0[0m(B[ No Source Available ][168G(0[0mx(B[17;4H(0[0mx(B[168G(0[0mx(B[18;4H(0[0mx(B[168G(0[0mx(B[19;4H(0[0mx(B[168G(0[0mx(B[20;4H(0[0mx(B[168G(0[0mx(B[21;4H(0[0mx(B[168G(0[0mx(B[22;4H(0[0mx(B[168G(0[0mx(B[23;4H(0[0mx(B[168G(0[0mx(B[24;4H(0[0mx(B[168G(0[0mx(B[25;4H(0[0mx(B[168G(0[0mx(B[26;4H(0[0mx(B[168G(0[0mx(B[27;4H(0[0mx(B[168G(0[0mx(B[28;4H(0[0mx(B[168G(0[0mx(B[29;4H(0[0mx(B[168G(0[0mx(B[30;4H(0[0mx(B[168G(0[0mx(B[31;4H(0[0mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B[32;1H(0[0m(B[0;7mNone No process In:                                                                                                                                   Line: ??   PC: ?? [1;1H(B[m[16;85H
[32d[H   (0[0;1;7mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B(B[m[2;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[3;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[4;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[5;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[6;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[7;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[8;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[9;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[10;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[11;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[12;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[13;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[14;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[15;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[16;4H(0[0;1;7mx(B(B[m[16;62H(0[0;1;7m(B(B[m[23X[168G(0[0;1;7mx(B(B[m[17;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[18;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[19;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[20;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[21;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[22;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[23;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[24;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[25;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[26;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[27;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[28;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[29;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[30;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[31;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;4H(0[0;1;7m(B(B[m[16;62H[ No Source Available ][H[33dGNU gdb (Debian 7.7.1+dfsg-5) 7.7.1
Copyright (C) 2014 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "i586-linux-gnu".
Type "show configuration" for configuration details.
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>.
Find the GDB manual and other documentation resources online at:
<http://www.gnu.org/software/gdb/documentation/>.
For help, type "help".
Type "apropos word" to search for commands related to "word"...
Reading symbols from /mnt/src/git/context-rs/target/release/examples/save_and_load...
[33d[M[46;86Hdone.
[16;62H[23X[H   [16;62H[ No Source Available ][H[32d(B[0;7mexec
(B[m[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[47d(gdb) break save_and_load.rs:32
[33d[M[47dBreakpoint 1 at 0x27a7: file examples/save_and_load.rs, line 32.
[33d[M[47d(gdb) r
[33d[M[47dStarting program: /mnt/src/git/context-rs/target/release/examples/save_and_load 
[33d[M[47d[32d(B[0;7mchild process 12111 In: _start[32;143HLine: ??   PC: 0xf7fddd00
(B[m[16;62H[23X[H   [16;62H[ No Source Available ][H[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[16;62H[23X[H   [16;62H[ No Source Available ][H[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[32;26H(B[0;7m_GI__dl_debug_state[32;149H74[163Gec09
(B[m[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[33d[M[46d[Thread debugging using libthread_db enabled]
[33d[M[46dUsing host libthread_db library "/lib/i386-linux-gnu/libthread_db.so.1".
[33d[M[46ddl-debug.c:74: No such file or directory.
[16;62H[23X[H   [16;62H[ No Source Available ][H[32d(B[0;7mmulti-thre process 12111 In: __GI__dl_debug_state
(B[m[32;12H(B[0;7mThread 0xf7d85 In: save_and_load::main[32;149H32[32;160H565577a7
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m19[2;17Hfn callback() {}
[5G20
21[4;17Hlet mut stk = Stack::new(MIN_STACK).unwrap();
[5G22[5;17Hlet ctx = Context::new(init_fn,
[5G23[6;40Hunsafe { transmute(&cur) },
[5G24[7;40Hunsafe { transmute(callback) },
[5G25[8;40H&mut stk);
[5G26
27[10;17Hlet mut _no_use = Box::new(true);
[5G28
29[12;17HContext::save(&mut cur);
[5G30[13;17Hif *_no_use {
[5G31[14;21H*_no_use = false;
[5G(B[0;7m32              Context::load(&ctx);
[5G(B[m33[16;17H}[16;62H[23X
[5G34[13G}
[5G35
36
37
38
39
40
41
42
43
44
45
46
47[1;32H
[15dB+>
[31d[15d   [H[15dB+>
[31d

[M[47dBreakpoint 1, save_and_load::main () at examples/save_and_load.rs:32
[33d[M[47d[33d[15d   [H[15dB+>
[31d[47d(gdb) layout split[2;5H  [2;17H[16X
[5G  
  [4;17H[45X
[5G  [5;17H[31X
[5G  [6;40H[27X
[5G  [7;40H[31X
[5G  [8;40H          
[5G  
  [10;17H[33X
[5G  
  [12;17H[24X
[5G  [13;17H             
[5G  [14;21H[17X
[5G[36X
(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][1;32H
[33d[K[16;4H(0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;4H(0[0mx(B  [13G [168G(0[0mx(B[18;4H(0[0mx(B  [168G(0[0mx(B[19;4H(0[0mx(B  [168G(0[0mx(B[20;4H(0[0mx(B  [168G(0[0mx(B[21;4H(0[0mx(B  [168G(0[0mx(B[22;4H(0[0mx(B  [168G(0[0mx(B[23;4H(0[0mx(B  [168G(0[0mx(B[24;4H(0[0mx(B  [168G(0[0mx(B[25;4H(0[0mx(B  [168G(0[0mx(B[26;4H(0[0mx(B  [168G(0[0mx(B[27;4H(0[0mx(B  [168G(0[0mx(B[28;4H(0[0mx(B  [168G(0[0mx(B[29;4H(0[0mx(B  [168G(0[0mx(B[30;4H(0[0mx(B  [168G(0[0mx(B[31;4H(0[0mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B[16;4H(0[0m(B[24;60H[ No Assembly Available ][H   (0[0mlqq(Bexamples/save_and_load.rs(0[0mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[2;4H(0[0mx(B[168G(0[0mx(B[3;4H(0[0mx(B[168G(0[0mx(B[4;4H(0[0mx(B[168G(0[0mx(B[5;4H(0[0mx(B[168G(0[0mx(B[6;4H(0[0mx(B[168G(0[0mx(B[7;4H(0[0mx(B[168G(0[0mx(B[8;4H(0[0mx(B[168G(0[0mx(B[9;4H(0[0mx(B[168G(0[0mx(B[10;4H(0[0mx(B[168G(0[0mx(B[11;4H(0[0mx(B[168G(0[0mx(B[12;4H(0[0mx(B[168G(0[0mx(B[13;4H(0[0mx(B[168G(0[0mx(B[14;4H(0[0mx(B[168G(0[0mx(B[15;4H(0[0mx(B[168G(0[0mx(B[16;4H(0[0mm(B[168G(0[0mj(B[1;32H(0[0m(B
   (0[0;1;7mlqq(B[0;1;7mexamples/save_and_load.rs(0[0;1;7mqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B(B[m[2;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[3;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[4;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[5;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[6;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[7;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[8;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[9;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[10;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[11;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[12;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[13;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[14;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[15;4H(0[0;1;7mx(B(B[m[168G(0[0;1;7mx(B(B[m[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[16;4H(0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax
[5G(B[m0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)
[5G0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>
[5G0x565577b5 <save_and_load::main+389>    jmp    0x5655788e <save_and_load::main+606>
[5G0x565577ba <save_and_load::main+394>    mov    %eax,%esi
[5G0x565577bc <save_and_load::main+396>    cmp    $0x1d1d1d1d,%edi
[5G0x565577c2 <save_and_load::main+402>    je     0x56557861 <save_and_load::main+561>
[5G0x565577c8 <save_and_load::main+408>    mov    %edi,(%esp)[22X
[5G0x565577cb <save_and_load::main+411>    movl   $0x1,0x8(%esp)
[5G0x565577d3 <save_and_load::main+419>    movl   $0x1,0x4(%esp)
[5G0x565577db <save_and_load::main+427>    call   0x565678f0 <__rust_deallocate>
[5G0x565577e0 <save_and_load::main+432>    jmp    0x56557861 <save_and_load::main+561>
[5G0x565577e2 <save_and_load::main+434>    test   %eax,%eax
[5G0x565577e4 <save_and_load::main+436>    jne    0x5655788e <save_and_load::main+606>[168G
[16d
B+>
[31d[2;5H(B[0;7m32              Context::load(&ctx);
[5G(B[m33[3;17H}
[5G34[13G}
[5G35
36
37
38
39[9;62H[23X
[5G40
41
42
43
44
45
(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m
[15d   [H
B+>
[16d[33d[M[47d(gdb) stepi[32;167H(B[0;7md
(B[m[H
   [H
B+>
[16d
[5G0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax
[5G(B[0;7m0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)[168G(B[m
[A   
[A
B+
>
[31d

[H
   [H
B+>
[16d
  
 
[16d
B+
>
[31d

[M[47d(gdb) 
[J[33d[H
   [H
B+>
[16d
  
 
[16d
B+
>
[31d
[166G(B[0;7mb0
(B[m[H
   [H
B+>
[16d

[5G0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)
[5G(B[0;7m0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[168G(B[m
[17d  
 
[16d
B+

>
[31d

[H
   [H
B+>
[16d
  

 
[16d
B+

>
[31d[47d(gdb) 
[J[33d[H
   [H
B+>
[16d
  

 
[16d
B+

>
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga9
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123             }[19X
[5G124
125      
[5G126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130[9;21Hlet regs: &Registers = &to_context.regs;
[5G131
132[11;21Hunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being[1;21H
   [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp(B[m     [18;12Ha91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G0x56557a93 <context::context::Context::load+3>  push   %ebx[32X[20;12Ha94 <context::context::Context::load+4>  push   %eax[24X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx    [23;12Ha9b <context::context::Context::load+11> add    $0x4740a,%ebx[15X[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[26;12Haa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx          [28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ecx             [29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)[17X[168G
[17d  

 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;150H(B[0;7m9 [167Ga
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[6G(0[0;1;7m(B(B[m3 [2;21H// symbol resolution, llvm function calls, etc. In theory this red zone
[6G4 [3;17H    // value is 0, but it matters far less when we have gigantic stacks because
[6G5 [4;21H// we don't need to be so exact about our stack budget. The "fudge factor"
[6G6 [5;17H    // was because LLVM doesn't emit a stack check for functions < 256 bytes in
[6G7 [6;17H    // size. Again though, we have giant stacks, so we round all these
[6G8 [7;17H    // calculations up to the nice round number of 20k.[18X
[6G(B[0;7m9 [8;17H    record_sp_limit(stack_lo + RED_ZONE);
[5G(B[m20 [9;21H[40X
[5G21 [10;21Hreturn target_record_stack_bounds(stack_lo, stack_hi);
[5G22 [11;21H        
[5G23 [12;21H#[cfg(not(windows))][51X
[5G24 [13;21H#[inline(always)][53X
[5G25 [14;21Hunsafe fn target_record_stack_bounds(_stack_lo: usize, _stack_hi: usize) {}
[5G26 [15;25H[68X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[26;5H0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>
[5G(B[0;7m0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx[168G(B[m
[A   
[16d[27d  >



[47drecord_rust_managed_stack_bounds (stack_hi=0, stack_lo=<optimized out>) at src/sys.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >



[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >




[167G(B[0;7mf
(B[m[8d   [H[8d  >
[16d[27;5H0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx
[5G(B[0;7m0x56557aaf <context::context::Context::load+31> add    0x38(%eax),%ecx[168G(B[m
[A   
[16d[28d  >




[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[32;149H(B[0;7m97[166Gb2
(B[m[2;5H91[2;21H    asm!("movl $$0x48+90*4, %eax[39X
[5G92[3;21H          movl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")         
[5G93[4;21H}[73X
[5G94[5;21H#[cfg(all(target_arch = "x86", target_os = "linux"))][22X
[5G95[6;21H#[inline(always)][49X
[5G96[7;21Hunsafe fn target_record_sp_limit(limit: usize) {   
[5G(B[0;7m97[8;21H    asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98[9;21H}
[5G99[10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[5G100[11;21H#[inline(always)]
[5G101[12;21Hunsafe fn target_record_sp_limit(_: usize) {}
[5G102[13;21H[17X
[5G103[14;21H// mips, arm - The implementations are a bit big for inline asm!           
[5G104[15;21H//[15;36HThey can be found in src/rt/arch/$target_arch/record_sp.S[1;17H[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;14H(0[0m(Bb[17;48H+11> add    $0x4740a,%ebx[18;13Ha[18;50H7>[18;60H0x8(%ebp),%eax[19;13Ha4[19;49H20> cmpl   $0x1,0x34(%eax)[20;13Ha8[20;49H24> jne    0x56557ac1 <context::context::Context::load+49>[21;13Haa[21;49H26> mov    $0x5000,%ecx[35X[22;13Haf[22;49H31> add    0x38(%eax),%ecx
[5G(B[0;7m0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[24;13H(B[mb9[24;49H41[24;60H%eax,(%esp)   [25;13Hbc[25;49H44> call   0x56558125 <rust_load_registers>[26;13Hc1[26;49H49> mov    $0x5000,%ecx[35X[27;13Hc6[27;49H54[27;60H%ecx,%gs:0x30
[5G0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)    [29;13Hd0[29;49H64> call   0x56558125 <rust_load_registers>[30;13Hd5[38X[30;53Hxchg   %ax,%ax    [168G[28;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=4146089984) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[32;149H(B[0;7m148[167G9
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[23;5H0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)[168G(B[m
[A   
[16d[24d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[8d   [H[8d  >
[16d[24;5H0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)
[5G(B[0;7m0x56557abc <context::context::Context::load+44> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax[18;11H(B[m8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[24X[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp[23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G0x5655813c <rust_load_registers+23>[21X[25;61Hpopf[27X[26;11H813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)[27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret         [28;11H8141[46X[28;61Hxchg   %ax,%ax[29;11H8143[46X[29;61Hxchg   %ax,%ax[17X[30;11H814[30;53H        xchg   %ax,%ax[168G[25;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56558129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx
[5G(B[0;7m0x5655812c <rust_load_registers+7>                      mov    0x10(%eax),%ebp[168G(B[m
[A   
[16d


  >
[31d[47d0x5655812c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7mf
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x5655812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp
[5G(B[0;7m0x5655812f <rust_load_registers+10>                     mov    0x14(%eax),%esi[168G(B[m
[A   
[16d



  >
[31d[47d0x5655812f in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[166G(B[0;7m32
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x5655812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi
[5G(B[0;7m0x56558132 <rust_load_registers+13>                     mov    0x18(%eax),%edi[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56558132 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56558132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi
[5G(B[0;7m0x56558135 <rust_load_registers+16>                     mov    0x1c(%eax),%esp[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56558135 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56558135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp
[5G(B[0;7m0x56558138 <rust_load_registers+19>                     mov    0x2c(%eax),%ecx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x56558138 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7mb
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x56558138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx
[5G(B[0;7m0x5655813b <rust_load_registers+22>                     push   %ecx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655813b in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G(B[0;7m0x5655813c <rust_load_registers+23>                     popf   [168G(B[m
[A   
[16d[25d  >
[31d[47d0x5655813c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x5655813c <rust_load_registers+23>[21X[25;61Hpopf   
[5G(B[0;7m0x5655813d <rust_load_registers+24>                     jmp    *0x30(%eax)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x5655813d in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7minit_fn::h077318b8b8430b28raa[164G7600
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557600 <_ZN7init_fn20h077318b8b8430b28raaE>         push   %ebp(B[m          [18;11H7601 <_ZN7init_fn20h077318b8b8430b28raaE+1>[18;68H%esp,%ebp     [19;11H7603 <_ZN7init_fn20h077318b8b8430b28raaE+3>[61Gpush   %ebx           [20;11H7604 <_ZN7init_fn20h077318b8b8430b28raaE+4>[61Gpush   %esi           [21;11H7605 <_ZN7init_fn20h077318b8b8430b28raaE+5>[61Gsub    $0x10,%esp     [22;11H7608 <_ZN7init_fn20h077318b8b8430b28raaE+8>[61Gcall   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[23;11H760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[61Gpop    %ebx           [24;11H760e <_ZN7init_fn20h077318b8b8430b28raaE+14>[61Gadd    $0x47897,%ebx[25;11H7614 <_ZN7init_fn20h077318b8b8430b28raaE+20>[61Gmov    0x8(%ebp),%esi
[5G0x56557617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp) [27;11H761a <_ZN7init_fn20h077318b8b8430b28raaE+26>[61Gmov    %esi,(%esp)[28;11H761d <_ZN7init_fn20h077318b8b8430b28raaE+29>[61Gcall   0x56557a90 <context::context::Context::load>[29;11H7622
7624[168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56557600 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56557600 <_ZN7init_fn20h077318b8b8430b28raaE>         push   %ebp
[5G(B[0;7m0x56557601 <_ZN7init_fn20h077318b8b8430b28raaE+1>       mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d[47d0x56557601 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56557601 <_ZN7init_fn20h077318b8b8430b28raaE+1>       mov    %esp,%ebp
[5G(B[0;7m0x56557603 <_ZN7init_fn20h077318b8b8430b28raaE+3>       push   %ebx[168G(B[m
[A   
[16d


  >
[31d[47d0x56557603 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x56557603 <_ZN7init_fn20h077318b8b8430b28raaE+3>       push   %ebx
[5G(B[0;7m0x56557604 <_ZN7init_fn20h077318b8b8430b28raaE+4>       push   %esi[168G(B[m
[A   
[16d



  >
[31d[47d0x56557604 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x56557604 <_ZN7init_fn20h077318b8b8430b28raaE+4>       push   %esi
[5G(B[0;7m0x56557605 <_ZN7init_fn20h077318b8b8430b28raaE+5>       sub    $0x10,%esp[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56557605 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56557605 <_ZN7init_fn20h077318b8b8430b28raaE+5>       sub    $0x10,%esp
[5G(B[0;7m0x56557608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56557608 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56557608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>
[5G(B[0;7m0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x5655760d in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7me
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx
[5G(B[0;7m0x5655760e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655760e in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[166G(B[0;7m14
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655760e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx
[5G(B[0;7m0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi[168G(B[m
[A   
[16d[25d  >
[31d[47d0x56557614 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m7
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi
[5G(B[0;7m0x56557617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x56557617 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7msave_and_load::main::callback[32;149H19[165G8a0
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m13[2;17HContext::load(ctx);
[5G14[13G}
[5G15
16[13Gfn main() {
[5G17[6;17Hlet mut cur = Context::empty();
[5G18
(B[0;7m19          fn callback() {}
[5G(B[m20[9;62H[23X
[5G21[10;17Hlet mut stk = Stack::new(MIN_STACK).unwrap();
[5G22[11;17Hlet ctx = Context::new(init_fn,
[5G23[12;40Hunsafe { transmute(&cur) },
[5G24[13;40Hunsafe { transmute(callback) },
[5G25[14;40H&mut stk);
[5G26[1;32H
[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x565578a0 <save_and_load::main::callback>      push   %ebp(B[m        [18;12H8a1 <save_and_load::main::callback+1>    mov    %esp,%ebp        [19;12H8a3 <save_and_load::main::callback+3>    pop    %ebp        [20;12H8a4 <save_and_load::main::callback+4>    ret[16X[21;12H8a5[38X[21;53Hxchg   %ax,%ax           [22;12H8a7[38X[22;53Hxchg   %ax,%ax[51X[23;12H8a9[38X[23;53Hxchg   %ax,%ax     [24;12H8ab[38X[24;53Hxchg   %ax,%ax[14X[25;12H8ad[38X[25;53Hxchg   %ax,%ax[15X
[5G0x565578af[38X[26;53Hnop[22X[27;12H8b0 <main>[31X[27;53Hpush   %ebx[15X[28;12H8b1 <main+1>[29X[28;53Hsub    $0x18,%esp[42X[29;12H8b4 <main+4>[29;53Hcall   0x565578b9 <main+9>[30;12H8b9 <main+9>[30;53Hpop    %ebx           [168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47dsave_and_load::main::callback () at examples/save_and_load.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x565578a0 <save_and_load::main::callback>      push   %ebp
[5G(B[0;7m0x565578a1 <save_and_load::main::callback+1>    mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x565578a1 <save_and_load::main::callback+1>    mov    %esp,%ebp
[5G(B[0;7m0x565578a3 <save_and_load::main::callback+3>    pop    %ebp[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x565578a3 <save_and_load::main::callback+3>    pop    %ebp
[5G(B[0;7m0x565578a4 <save_and_load::main::callback+4>    ret    [168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d[32;31H(B[0;7minit_fn::h077318b8b8430b28raa[32;149H??[165G61a
(B[m[2;5H  [2;17H[19X
[5G  [13G 
[5G  
  [13G           
[5G  [6;17H[31X
[5G  
[28X
  
  [10;17H[45X
[5G  [11;17H[31X
[5G  [12;40H[27X
[5G  [13;40H[31X
[5G  [14;40H          
[5G  
(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;12H(0[0m(B608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[18;12H60d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx[19;12H60e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx
[5G0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi[21;12H617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp)
[5G(B[0;7m0x5655761a <_ZN7init_fn20h077318b8b8430b28raaE+26>      mov    %esi,(%esp)[23;12H(B[m61d <_ZN7init_fn20h077318b8b8430b28raaE+29>      call   0x56557a90 <context::context::Context::load>[24;12H622[24;53H        xchg   %ax,%ax[25;12H624[25;53H        xchg   %ax,%ax[26;12H626[26;53H        xchg   %ax,%ax[27;12H628       [27;53H        xchg   %ax,%ax[28;12H62a         [28;53H        xchg   %ax,%ax[29;12H62c         [29;53H        xchg   %ax,%ax    [30;12H62e         [30;53H        xchg   %ax,%ax[168G[20;3H 
[16d[22d  >
[31d[22d   
[16d[22d  >
[31d[47d0x5655761a in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;32H[9;62H[ No Source Available ][H[16d[22;5H0x5655761a <_ZN7init_fn20h077318b8b8430b28raaE+26>      mov    %esi,(%esp)
[5G(B[0;7m0x5655761d <_ZN7init_fn20h077318b8b8430b28raaE+29>      call   0x56557a90 <context::context::Context::load>[168G(B[m
[A   
[16d[23d  >
[31d[47d0x5655761d in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;32H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga90
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123[2;21H}
[5G124[3;17H}
[5G125
126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130[9;21Hlet regs: &Registers = &to_context.regs;[24X
[5G131
132[11;21Hunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being[1;21H
[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp(B[m[54X[18;12Ha91 <context::context::Context::load+1>  mov    %esp,%ebp   [19;12Ha93 <context::context::Context::load+3>  push   %ebx[17X[20;12Ha94 <context::context::Context::load+4>  push   %eax[18X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx[15X
[5G0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[39X[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax [25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[26;12Haa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx   [28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ec[29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30  [30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)    [168G[23;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;149H(B[0;7m97 [166Gc1
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[5G(0[0;1;7m(B(B[m91 [2;21H    asm!("movl $$0x48+90*4, %eax
[5G92 [3;17H [3;31Hmovl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")
[5G93 [4;21H}
[5G94 [5;17H    #[cfg(all(target_arch = "x86", target_os = "linux"))]        
[5G95 [6;17H    #[inline(always)]
[5G96 [7;17H    unsafe fn target_record_sp_limit(limit: usize) {[21X
[5G(B[0;7m97 [8;17H        asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98 [9;21H}[39X
[5G99 [10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[6G00[11;21H#[inline(always)]
[6G01[12;21Hunsafe fn target_record_sp_limit(_: usize) {}[26X
[6G02[13;25H[66X
[6G03[14;21H// mips, arm - The implementations are a bit big for inline asm!       
[6G04[15;21H//             They can be found in src/rt/arch/$target_arch/record_sp.S
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;13H(0[0m(Ba8[17;48H+24> jne    0x56557ac1 <context::context::Context::load+49>[18;13Haa[18;49H26>[18;60H$0x5000,%ecx[19;13Haf[19;50H1> add    0x38(%eax),%ecx[20;13Hb2[20;49H34> mov    %ecx,%gs:0x30[21;13Hb9[21;49H41> mov    %eax,(%esp)[36X[22;13Hbc[22;49H44> call   0x56558125 <rust_load_registers>
[5G(B[0;7m0x56557ac1 <context::context::Context::load+49> mov    $0x5000,%ecx(B[m [24;13Hc6[24;49H54[24;60H%ecx,%gs:0x30 [25;13Hcd[25;49H61> mov    %eax,(%esp)    
[5G0x56557ad0 <context::context::Context::load+64> call   0x56558125 <rust_load_registers>[15X[27;13Hd5[38X[27;53Hxchg   %ax,%ax     [28;13Hd7[38X[28;53Hxchg   %ax,%ax        [29;13Hd9[38X[29;53Hxchg   %ax,%ax      [30;13Hdb[38X[30;53Hxchg   %ax,%ax    [168G[26;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=20480) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7m6
(B[m[8d   [H[8d  >
[16d[23;5H0x56557ac1 <context::context::Context::load+49> mov    $0x5000,%ecx
[5G(B[0;7m0x56557ac6 <context::context::Context::load+54> mov    %ecx,%gs:0x30[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[32;149H(B[0;7m148[167Gd
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[24;5H0x56557ac6 <context::context::Context::load+54> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)[168G(B[m
[A   
[16d[25d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd290) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[166G(B[0;7md0
(B[m[8d   [H[8d  >
[16d[25;5H0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)
[5G(B[0;7m0x56557ad0 <context::context::Context::load+64> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax(B[m[25X[18;11H8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp         [23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx [25;11H813c <rust_load_registers+23>[21X[25;61Hpopf      
[5G0x5655813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)             [27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret   [28;11H8141[28;53H        xchg   %ax,%ax[29;11H8143[29;53H        xchg   %ax,%ax[30;11H8145[30;53H        xchg   %ax,%ax[168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56558129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx
[5G(B[0;7m0x5655812c <rust_load_registers+7>                      mov    0x10(%eax),%ebp[168G(B[m
[A   
[16d


  >
[31d[47d0x5655812c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7mf
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x5655812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp
[5G(B[0;7m0x5655812f <rust_load_registers+10>                     mov    0x14(%eax),%esi[168G(B[m
[A   
[16d



  >
[31d[47d0x5655812f in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[166G(B[0;7m32
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x5655812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi
[5G(B[0;7m0x56558132 <rust_load_registers+13>                     mov    0x18(%eax),%edi[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56558132 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56558132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi
[5G(B[0;7m0x56558135 <rust_load_registers+16>                     mov    0x1c(%eax),%esp[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56558135 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56558135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp
[5G(B[0;7m0x56558138 <rust_load_registers+19>                     mov    0x2c(%eax),%ecx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x56558138 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7mb
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x56558138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx
[5G(B[0;7m0x5655813b <rust_load_registers+22>                     push   %ecx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655813b in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G(B[0;7m0x5655813c <rust_load_registers+23>                     popf   [168G(B[m
[A   
[16d[25d  >
[31d[47d0x5655813c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x5655813c <rust_load_registers+23>[21X[25;61Hpopf   
[5G(B[0;7m0x5655813d <rust_load_registers+24>                     jmp    *0x30(%eax)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x5655813d in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7msave_and_load::main[32;149H31[164G77a4
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m25[2;40H&mut stk);
[5G26
27[4;17Hlet mut _no_use = Box::new(true);
[5G28
29[6;17HContext::save(&mut cur);
[5G30[7;17Hif *_no_use {
[5G(B[0;7m31              *_no_use = false;
[5G(B[m32[9;21HContext::load(&ctx);[9;62H[23X
[5G33[10;17H}
[5G34[13G}
[5G35
36
37
38[1;32H
[8d  >
B+
[16d[8d   
  [H[8d  >
B+
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;11H(0[0m(B7789 <save_and_load::main+345>    cmp    $0xd4,%eax[20X[18;11H778e <save_and_load::main+350>    jne    0x5655788e <save_and_load::main+606>[19;11H7794 <save_and_load::main+356>    lea    -0x1c(%ebp),%eax[15X[20;11H7797 <save_and_load::main+359>    jmp    0x5655787e <save_and_load::main+590>[21;11H779c <save_and_load::main+364>    mov    %esi,(%esp)[20X[22;11H779f <save_and_load::main+367>    call   0x56558106 <rust_save_registers>
[5G(B[0;7m0x565577a4 <save_and_load::main+372>    movb   $0x0,(%edi)(B[m[20X[24;11H77a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax   [25;11H77ad <save_and_load::main+381>    mov    %eax,(%esp)  
[5G0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[27;11H77b5 <save_and_load::main+389>    jmp    0x5655788e <save_and_load::main+606>[28;11H77ba <save_and_load::main+394>    mov    %eax,%esi[14X[29;11H77bc <save_and_load::main+396>    cmp    $0x1d1d1d1d,%edi       [30;11H77c2 <save_and_load::main+402>    je     0x56557861 <save_and_load::main+561>[168G[26;3H 
[16d[23d  >
B+
[31d[23d   
  
[16d[23d  >
B+
[31d[47dsave_and_load::main () at examples/save_and_load.rs:31
[33d[M[47d[33d[8d   
  [H[8d  >
B+
[16d[23d   
  
[16d[23d  >
B+
[31d[47d(gdb) 
[J[33d[8d   
  [H[8d  >
B+
[16d[23d   
  
[16d[23d  >
B+
[31d[32;150H(B[0;7m2[167G7
(B[m[8;5H31[14X[8;21H*_no_use = false;
[5G(B[0;7m32              Context::load(&ctx);[168G(B[m
[A   
  [H[9dB+>
[16d[23;5H0x565577a4 <save_and_load::main+372>    movb   $0x0,(%edi)
[5G(B[0;7m0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax[168G(B[m
[A   
  
[16d[24dB+>
[31d

[M[47dBreakpoint 1, save_and_load::main () at examples/save_and_load.rs:32
[33d[M[47d[33d[9d   [H[9dB+>
[16d[24d   
[16d[24dB+>
[31d[47d(gdb) 
[J[32;167H(B[0;7md
(B[m[9d   [H[9dB+>
[16d[24;5H0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax
[5G(B[0;7m0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)[168G(B[m
[A   
[16d[24dB+
>
[31d

[9d   [H[9dB+>
[16d[24d  
 
[16d[24dB+
>
[31d[47d(gdb) 
[J[33d[9d   [H[9dB+>
[16d[24d  
 
[16d[24dB+
>
[31d
[166G(B[0;7mb0
(B[m[9d   [H[9dB+>
[16d[25;5H0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)
[5G(B[0;7m0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[168G(B[m
[24d  
 
[16d[24dB+

>
[31d

[9d   [H[9dB+>
[16d[24d  

 
[16d[24dB+

>
[31d[47d(gdb) 
[J[33d[9d   [H[9dB+>
[16d[24d  

 
[16d[24dB+

>
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga9
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123[2;21H}[2;40H          
[5G124[3;17H}
[5G125[4;17H[33X
[5G126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///[21X
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130             let regs: &Registers = &to_context.regs;
[5G131[10;17H 
[5G132      [21Gunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m
[9d   [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp[18;12H(B[ma91 <context::context::Context::load+1>  mov    %esp,%ebp[19X[19;12Ha93 <context::context::Context::load+3>  push   %ebx    [20;12Ha94 <context::context::Context::load+4>  push   %eax[24X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx[20X[23;12Ha9b <context::context::Context::load+11> add    $0x4740a,%ebx[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx[16X[28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ecx[29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)[17X[168G
[24d  

 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;150H(B[0;7m9 [167Ga
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[6G(0[0;1;7m(B(B[m3 [2;21H// symbol resolution, llvm function calls, etc. In theory this red zone
[6G4 [3;17H    // value is 0, but it matters far less when we have gigantic stacks because
[6G5 [4;21H// we don't need to be so exact about our stack budget. The "fudge factor"
[6G6 [5;17H    // was because LLVM doesn't emit a stack check for functions < 256 bytes in
[6G7 [6;17H    // size. Again though, we have giant stacks, so we round all these
[6G8 [7;17H    // calculations up to the nice round number of 20k.[18X
[6G(B[0;7m9 [8;17H    record_sp_limit(stack_lo + RED_ZONE);
[5G(B[m20 [9;21H[40X
[5G21 [10;21Hreturn target_record_stack_bounds(stack_lo, stack_hi);
[5G22 [11;21H        
[5G23 [12;21H#[cfg(not(windows))][51X
[5G24 [13;21H#[inline(always)][53X
[5G25 [14;21Hunsafe fn target_record_stack_bounds(_stack_lo: usize, _stack_hi: usize) {}
[5G26 [15;25H[68X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[26;5H0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>
[5G(B[0;7m0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx[168G(B[m
[A   
[16d[27d  >



[47drecord_rust_managed_stack_bounds (stack_hi=0, stack_lo=<optimized out>) at src/sys.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >



[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >




[167G(B[0;7mf
(B[m[8d   [H[8d  >
[16d[27;5H0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx
[5G(B[0;7m0x56557aaf <context::context::Context::load+31> add    0x38(%eax),%ecx[168G(B[m
[A   
[16d[28d  >




[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[32;149H(B[0;7m97[166Gb2
(B[m[2;5H91[2;21H    asm!("movl $$0x48+90*4, %eax[39X
[5G92[3;21H          movl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")         
[5G93[4;21H}[73X
[5G94[5;21H#[cfg(all(target_arch = "x86", target_os = "linux"))][22X
[5G95[6;21H#[inline(always)][49X
[5G96[7;21Hunsafe fn target_record_sp_limit(limit: usize) {   
[5G(B[0;7m97[8;21H    asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98[9;21H}
[5G99[10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[5G100[11;21H#[inline(always)]
[5G101[12;21Hunsafe fn target_record_sp_limit(_: usize) {}
[5G102[13;21H[17X
[5G103[14;21H// mips, arm - The implementations are a bit big for inline asm!           
[5G104[15;21H//[15;36HThey can be found in src/rt/arch/$target_arch/record_sp.S[1;17H[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;14H(0[0m(Bb[17;48H+11> add    $0x4740a,%ebx[18;13Ha[18;50H7>[18;60H0x8(%ebp),%eax[19;13Ha4[19;49H20> cmpl   $0x1,0x34(%eax)[20;13Ha8[20;49H24> jne    0x56557ac1 <context::context::Context::load+49>[21;13Haa[21;49H26> mov    $0x5000,%ecx[35X[22;13Haf[22;49H31> add    0x38(%eax),%ecx
[5G(B[0;7m0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[24;13H(B[mb9[24;49H41[24;60H%eax,(%esp)   [25;13Hbc[25;49H44> call   0x56558125 <rust_load_registers>[26;13Hc1[26;49H49> mov    $0x5000,%ecx[35X[27;13Hc6[27;49H54[27;60H%ecx,%gs:0x30
[5G0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)    [29;13Hd0[29;49H64> call   0x56558125 <rust_load_registers>[30;13Hd5[38X[30;53Hxchg   %ax,%ax    [168G[28;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=4146089984) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[32;149H(B[0;7m148[167G9
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[23;5H0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)[168G(B[m
[A   
[16d[24d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[8d   [H[8d  >
[16d[24;5H0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)
[5G(B[0;7m0x56557abc <context::context::Context::load+44> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax[18;11H(B[m8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[24X[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp[23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G0x5655813c <rust_load_registers+23>[21X[25;61Hpopf[27X[26;11H813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)[27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret         [28;11H8141[46X[28;61Hxchg   %ax,%ax[29;11H8143[46X[29;61Hxchg   %ax,%ax[17X[30;11H814[30;53H        xchg   %ax,%ax[168G[25;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56558129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx
[5G(B[0;7m0x5655812c <rust_load_registers+7>                      mov    0x10(%eax),%ebp[168G(B[m
[A   
[16d


  >
[31d[47d0x5655812c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7mf
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x5655812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp
[5G(B[0;7m0x5655812f <rust_load_registers+10>                     mov    0x14(%eax),%esi[168G(B[m
[A   
[16d



  >
[31d[47d0x5655812f in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[166G(B[0;7m32
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x5655812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi
[5G(B[0;7m0x56558132 <rust_load_registers+13>                     mov    0x18(%eax),%edi[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56558132 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56558132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi
[5G(B[0;7m0x56558135 <rust_load_registers+16>                     mov    0x1c(%eax),%esp[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56558135 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56558135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp
[5G(B[0;7m0x56558138 <rust_load_registers+19>                     mov    0x2c(%eax),%ecx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x56558138 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7mb
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x56558138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx
[5G(B[0;7m0x5655813b <rust_load_registers+22>                     push   %ecx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655813b in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G(B[0;7m0x5655813c <rust_load_registers+23>                     popf   [168G(B[m
[A   
[16d[25d  >
[31d[47d0x5655813c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x5655813c <rust_load_registers+23>[21X[25;61Hpopf   
[5G(B[0;7m0x5655813d <rust_load_registers+24>                     jmp    *0x30(%eax)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x5655813d in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7minit_fn::h077318b8b8430b28raa[164G7600
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557600 <_ZN7init_fn20h077318b8b8430b28raaE>         push   %ebp(B[m          [18;11H7601 <_ZN7init_fn20h077318b8b8430b28raaE+1>[18;68H%esp,%ebp     [19;11H7603 <_ZN7init_fn20h077318b8b8430b28raaE+3>[61Gpush   %ebx           [20;11H7604 <_ZN7init_fn20h077318b8b8430b28raaE+4>[61Gpush   %esi           [21;11H7605 <_ZN7init_fn20h077318b8b8430b28raaE+5>[61Gsub    $0x10,%esp     [22;11H7608 <_ZN7init_fn20h077318b8b8430b28raaE+8>[61Gcall   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[23;11H760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[61Gpop    %ebx           [24;11H760e <_ZN7init_fn20h077318b8b8430b28raaE+14>[61Gadd    $0x47897,%ebx[25;11H7614 <_ZN7init_fn20h077318b8b8430b28raaE+20>[61Gmov    0x8(%ebp),%esi
[5G0x56557617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp) [27;11H761a <_ZN7init_fn20h077318b8b8430b28raaE+26>[61Gmov    %esi,(%esp)[28;11H761d <_ZN7init_fn20h077318b8b8430b28raaE+29>[61Gcall   0x56557a90 <context::context::Context::load>[29;11H7622
7624[168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56557600 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56557600 <_ZN7init_fn20h077318b8b8430b28raaE>         push   %ebp
[5G(B[0;7m0x56557601 <_ZN7init_fn20h077318b8b8430b28raaE+1>       mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d[47d0x56557601 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56557601 <_ZN7init_fn20h077318b8b8430b28raaE+1>       mov    %esp,%ebp
[5G(B[0;7m0x56557603 <_ZN7init_fn20h077318b8b8430b28raaE+3>       push   %ebx[168G(B[m
[A   
[16d


  >
[31d[47d0x56557603 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x56557603 <_ZN7init_fn20h077318b8b8430b28raaE+3>       push   %ebx
[5G(B[0;7m0x56557604 <_ZN7init_fn20h077318b8b8430b28raaE+4>       push   %esi[168G(B[m
[A   
[16d



  >
[31d[47d0x56557604 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x56557604 <_ZN7init_fn20h077318b8b8430b28raaE+4>       push   %esi
[5G(B[0;7m0x56557605 <_ZN7init_fn20h077318b8b8430b28raaE+5>       sub    $0x10,%esp[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56557605 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56557605 <_ZN7init_fn20h077318b8b8430b28raaE+5>       sub    $0x10,%esp
[5G(B[0;7m0x56557608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56557608 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56557608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>
[5G(B[0;7m0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x5655760d in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7me
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx
[5G(B[0;7m0x5655760e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655760e in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[166G(B[0;7m14
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655760e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx
[5G(B[0;7m0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi[168G(B[m
[A   
[16d[25d  >
[31d[47d0x56557614 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m7
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi
[5G(B[0;7m0x56557617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x56557617 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7msave_and_load::main::callback[32;149H19[165G8a0
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m13[2;17HContext::load(ctx);
[5G14[13G}
[5G15
16[13Gfn main() {
[5G17[6;17Hlet mut cur = Context::empty();
[5G18
(B[0;7m19          fn callback() {}
[5G(B[m20[9;62H[23X
[5G21[10;17Hlet mut stk = Stack::new(MIN_STACK).unwrap();
[5G22[11;17Hlet ctx = Context::new(init_fn,
[5G23[12;40Hunsafe { transmute(&cur) },
[5G24[13;40Hunsafe { transmute(callback) },
[5G25[14;40H&mut stk);
[5G26[1;32H
[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x565578a0 <save_and_load::main::callback>      push   %ebp(B[m        [18;12H8a1 <save_and_load::main::callback+1>    mov    %esp,%ebp        [19;12H8a3 <save_and_load::main::callback+3>    pop    %ebp        [20;12H8a4 <save_and_load::main::callback+4>    ret[16X[21;12H8a5[38X[21;53Hxchg   %ax,%ax           [22;12H8a7[38X[22;53Hxchg   %ax,%ax[51X[23;12H8a9[38X[23;53Hxchg   %ax,%ax     [24;12H8ab[38X[24;53Hxchg   %ax,%ax[14X[25;12H8ad[38X[25;53Hxchg   %ax,%ax[15X
[5G0x565578af[38X[26;53Hnop[22X[27;12H8b0 <main>[31X[27;53Hpush   %ebx[15X[28;12H8b1 <main+1>[29X[28;53Hsub    $0x18,%esp[42X[29;12H8b4 <main+4>[29;53Hcall   0x565578b9 <main+9>[30;12H8b9 <main+9>[30;53Hpop    %ebx           [168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47dsave_and_load::main::callback () at examples/save_and_load.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x565578a0 <save_and_load::main::callback>      push   %ebp
[5G(B[0;7m0x565578a1 <save_and_load::main::callback+1>    mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x565578a1 <save_and_load::main::callback+1>    mov    %esp,%ebp
[5G(B[0;7m0x565578a3 <save_and_load::main::callback+3>    pop    %ebp[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x565578a3 <save_and_load::main::callback+3>    pop    %ebp
[5G(B[0;7m0x565578a4 <save_and_load::main::callback+4>    ret    [168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d[32;31H(B[0;7minit_fn::h077318b8b8430b28raa[32;149H??[165G61a
(B[m[2;5H  [2;17H[19X
[5G  [13G 
[5G  
  [13G           
[5G  [6;17H[31X
[5G  
[28X
  
  [10;17H[45X
[5G  [11;17H[31X
[5G  [12;40H[27X
[5G  [13;40H[31X
[5G  [14;40H          
[5G  
(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;12H(0[0m(B608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[18;12H60d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx[19;12H60e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx
[5G0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi[21;12H617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp)
[5G(B[0;7m0x5655761a <_ZN7init_fn20h077318b8b8430b28raaE+26>      mov    %esi,(%esp)[23;12H(B[m61d <_ZN7init_fn20h077318b8b8430b28raaE+29>      call   0x56557a90 <context::context::Context::load>[24;12H622[24;53H        xchg   %ax,%ax[25;12H624[25;53H        xchg   %ax,%ax[26;12H626[26;53H        xchg   %ax,%ax[27;12H628       [27;53H        xchg   %ax,%ax[28;12H62a         [28;53H        xchg   %ax,%ax[29;12H62c         [29;53H        xchg   %ax,%ax    [30;12H62e         [30;53H        xchg   %ax,%ax[168G[20;3H 
[16d[22d  >
[31d[22d   
[16d[22d  >
[31d[47d0x5655761a in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;32H[9;62H[ No Source Available ][H[16d[22;5H0x5655761a <_ZN7init_fn20h077318b8b8430b28raaE+26>      mov    %esi,(%esp)
[5G(B[0;7m0x5655761d <_ZN7init_fn20h077318b8b8430b28raaE+29>      call   0x56557a90 <context::context::Context::load>[168G(B[m
[A   
[16d[23d  >
[31d[47d0x5655761d in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;32H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga90
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123[2;21H}
[5G124[3;17H}
[5G125
126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130[9;21Hlet regs: &Registers = &to_context.regs;[24X
[5G131
132[11;21Hunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being[1;21H
[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp(B[m[54X[18;12Ha91 <context::context::Context::load+1>  mov    %esp,%ebp   [19;12Ha93 <context::context::Context::load+3>  push   %ebx[17X[20;12Ha94 <context::context::Context::load+4>  push   %eax[18X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx[15X
[5G0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[39X[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax [25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[26;12Haa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx   [28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ec[29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30  [30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)    [168G[23;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;149H(B[0;7m97 [166Gc1
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[5G(0[0;1;7m(B(B[m91 [2;21H    asm!("movl $$0x48+90*4, %eax
[5G92 [3;17H [3;31Hmovl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")
[5G93 [4;21H}
[5G94 [5;17H    #[cfg(all(target_arch = "x86", target_os = "linux"))]        
[5G95 [6;17H    #[inline(always)]
[5G96 [7;17H    unsafe fn target_record_sp_limit(limit: usize) {[21X
[5G(B[0;7m97 [8;17H        asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98 [9;21H}[39X
[5G99 [10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[6G00[11;21H#[inline(always)]
[6G01[12;21Hunsafe fn target_record_sp_limit(_: usize) {}[26X
[6G02[13;25H[66X
[6G03[14;21H// mips, arm - The implementations are a bit big for inline asm!       
[6G04[15;21H//             They can be found in src/rt/arch/$target_arch/record_sp.S
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;13H(0[0m(Ba8[17;48H+24> jne    0x56557ac1 <context::context::Context::load+49>[18;13Haa[18;49H26>[18;60H$0x5000,%ecx[19;13Haf[19;50H1> add    0x38(%eax),%ecx[20;13Hb2[20;49H34> mov    %ecx,%gs:0x30[21;13Hb9[21;49H41> mov    %eax,(%esp)[36X[22;13Hbc[22;49H44> call   0x56558125 <rust_load_registers>
[5G(B[0;7m0x56557ac1 <context::context::Context::load+49> mov    $0x5000,%ecx(B[m [24;13Hc6[24;49H54[24;60H%ecx,%gs:0x30 [25;13Hcd[25;49H61> mov    %eax,(%esp)    
[5G0x56557ad0 <context::context::Context::load+64> call   0x56558125 <rust_load_registers>[15X[27;13Hd5[38X[27;53Hxchg   %ax,%ax     [28;13Hd7[38X[28;53Hxchg   %ax,%ax        [29;13Hd9[38X[29;53Hxchg   %ax,%ax      [30;13Hdb[38X[30;53Hxchg   %ax,%ax    [168G[26;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=20480) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7m6
(B[m[8d   [H[8d  >
[16d[23;5H0x56557ac1 <context::context::Context::load+49> mov    $0x5000,%ecx
[5G(B[0;7m0x56557ac6 <context::context::Context::load+54> mov    %ecx,%gs:0x30[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[32;149H(B[0;7m148[167Gd
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[24;5H0x56557ac6 <context::context::Context::load+54> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)[168G(B[m
[A   
[16d[25d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd290) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[166G(B[0;7md0
(B[m[8d   [H[8d  >
[16d[25;5H0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)
[5G(B[0;7m0x56557ad0 <context::context::Context::load+64> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax(B[m[25X[18;11H8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp         [23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx [25;11H813c <rust_load_registers+23>[21X[25;61Hpopf      
[5G0x5655813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)             [27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret   [28;11H8141[28;53H        xchg   %ax,%ax[29;11H8143[29;53H        xchg   %ax,%ax[30;11H8145[30;53H        xchg   %ax,%ax[168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56558129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx
[5G(B[0;7m0x5655812c <rust_load_registers+7>                      mov    0x10(%eax),%ebp[168G(B[m
[A   
[16d


  >
[31d[47d0x5655812c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7mf
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x5655812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp
[5G(B[0;7m0x5655812f <rust_load_registers+10>                     mov    0x14(%eax),%esi[168G(B[m
[A   
[16d



  >
[31d[47d0x5655812f in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[166G(B[0;7m32
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x5655812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi
[5G(B[0;7m0x56558132 <rust_load_registers+13>                     mov    0x18(%eax),%edi[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56558132 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56558132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi
[5G(B[0;7m0x56558135 <rust_load_registers+16>                     mov    0x1c(%eax),%esp[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56558135 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56558135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp
[5G(B[0;7m0x56558138 <rust_load_registers+19>                     mov    0x2c(%eax),%ecx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x56558138 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7mb
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x56558138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx
[5G(B[0;7m0x5655813b <rust_load_registers+22>                     push   %ecx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655813b in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G(B[0;7m0x5655813c <rust_load_registers+23>                     popf   [168G(B[m
[A   
[16d[25d  >
[31d[47d0x5655813c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x5655813c <rust_load_registers+23>[21X[25;61Hpopf   
[5G(B[0;7m0x5655813d <rust_load_registers+24>                     jmp    *0x30(%eax)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x5655813d in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7msave_and_load::main[32;149H31[164G77a4
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m25[2;40H&mut stk);
[5G26
27[4;17Hlet mut _no_use = Box::new(true);
[5G28
29[6;17HContext::save(&mut cur);
[5G30[7;17Hif *_no_use {
[5G(B[0;7m31              *_no_use = false;
[5G(B[m32[9;21HContext::load(&ctx);[9;62H[23X
[5G33[10;17H}
[5G34[13G}
[5G35
36
37
38[1;32H
[8d  >
B+
[16d[8d   
  [H[8d  >
B+
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;11H(0[0m(B7789 <save_and_load::main+345>    cmp    $0xd4,%eax[20X[18;11H778e <save_and_load::main+350>    jne    0x5655788e <save_and_load::main+606>[19;11H7794 <save_and_load::main+356>    lea    -0x1c(%ebp),%eax[15X[20;11H7797 <save_and_load::main+359>    jmp    0x5655787e <save_and_load::main+590>[21;11H779c <save_and_load::main+364>    mov    %esi,(%esp)[20X[22;11H779f <save_and_load::main+367>    call   0x56558106 <rust_save_registers>
[5G(B[0;7m0x565577a4 <save_and_load::main+372>    movb   $0x0,(%edi)(B[m[20X[24;11H77a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax   [25;11H77ad <save_and_load::main+381>    mov    %eax,(%esp)  
[5G0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[27;11H77b5 <save_and_load::main+389>    jmp    0x5655788e <save_and_load::main+606>[28;11H77ba <save_and_load::main+394>    mov    %eax,%esi[14X[29;11H77bc <save_and_load::main+396>    cmp    $0x1d1d1d1d,%edi       [30;11H77c2 <save_and_load::main+402>    je     0x56557861 <save_and_load::main+561>[168G[26;3H 
[16d[23d  >
B+
[31d[23d   
  
[16d[23d  >
B+
[31d[47dsave_and_load::main () at examples/save_and_load.rs:31
[33d[M[47d[33d[8d   
  [H[8d  >
B+
[16d[23d   
  
[16d[23d  >
B+
[31d[47d(gdb) 
[J[33d[8d   
  [H[8d  >
B+
[16d[23d   
  
[16d[23d  >
B+
[31d[32;150H(B[0;7m2[167G7
(B[m[8;5H31[14X[8;21H*_no_use = false;
[5G(B[0;7m32              Context::load(&ctx);[168G(B[m
[A   
  [H[9dB+>
[16d[23;5H0x565577a4 <save_and_load::main+372>    movb   $0x0,(%edi)
[5G(B[0;7m0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax[168G(B[m
[A   
  
[16d[24dB+>
[31d

[M[47dBreakpoint 1, save_and_load::main () at examples/save_and_load.rs:32
[33d[M[47d[33d[9d   [H[9dB+>
[16d[24d   
[16d[24dB+>
[31d[47d(gdb) 
[J[32;167H(B[0;7md
(B[m[9d   [H[9dB+>
[16d[24;5H0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax
[5G(B[0;7m0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)[168G(B[m
[A   
[16d[24dB+
>
[31d

[9d   [H[9dB+>
[16d[24d  
 
[16d[24dB+
>
[31d[47d(gdb) 
[J[33d[9d   [H[9dB+>
[16d[24d  
 
[16d[24dB+
>
[31d
[166G(B[0;7mb0
(B[m[9d   [H[9dB+>
[16d[25;5H0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)
[5G(B[0;7m0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[168G(B[m
[24d  
 
[16d[24dB+

>
[31d

[9d   [H[9dB+>
[16d[24d  

 
[16d[24dB+

>
[31d[47d(gdb) 
[J[33d[9d   [H[9dB+>
[16d[24d  

 
[16d[24dB+

>
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga9
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123[2;21H}[2;40H          
[5G124[3;17H}
[5G125[4;17H[33X
[5G126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///[21X
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130             let regs: &Registers = &to_context.regs;
[5G131[10;17H 
[5G132      [21Gunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m
[9d   [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp[18;12H(B[ma91 <context::context::Context::load+1>  mov    %esp,%ebp[19X[19;12Ha93 <context::context::Context::load+3>  push   %ebx    [20;12Ha94 <context::context::Context::load+4>  push   %eax[24X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx[20X[23;12Ha9b <context::context::Context::load+11> add    $0x4740a,%ebx[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx[16X[28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ecx[29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)[17X[168G
[24d  

 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;150H(B[0;7m9 [167Ga
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[6G(0[0;1;7m(B(B[m3 [2;21H// symbol resolution, llvm function calls, etc. In theory this red zone
[6G4 [3;17H    // value is 0, but it matters far less when we have gigantic stacks because
[6G5 [4;21H// we don't need to be so exact about our stack budget. The "fudge factor"
[6G6 [5;17H    // was because LLVM doesn't emit a stack check for functions < 256 bytes in
[6G7 [6;17H    // size. Again though, we have giant stacks, so we round all these
[6G8 [7;17H    // calculations up to the nice round number of 20k.[18X
[6G(B[0;7m9 [8;17H    record_sp_limit(stack_lo + RED_ZONE);
[5G(B[m20 [9;21H[40X
[5G21 [10;21Hreturn target_record_stack_bounds(stack_lo, stack_hi);
[5G22 [11;21H        
[5G23 [12;21H#[cfg(not(windows))][51X
[5G24 [13;21H#[inline(always)][53X
[5G25 [14;21Hunsafe fn target_record_stack_bounds(_stack_lo: usize, _stack_hi: usize) {}
[5G26 [15;25H[68X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[26;5H0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>
[5G(B[0;7m0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx[168G(B[m
[A   
[16d[27d  >



[47drecord_rust_managed_stack_bounds (stack_hi=0, stack_lo=<optimized out>) at src/sys.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >



[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >




[167G(B[0;7mf
(B[m[8d   [H[8d  >
[16d[27;5H0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx
[5G(B[0;7m0x56557aaf <context::context::Context::load+31> add    0x38(%eax),%ecx[168G(B[m
[A   
[16d[28d  >




[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[32;149H(B[0;7m97[166Gb2
(B[m[2;5H91[2;21H    asm!("movl $$0x48+90*4, %eax[39X
[5G92[3;21H          movl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")         
[5G93[4;21H}[73X
[5G94[5;21H#[cfg(all(target_arch = "x86", target_os = "linux"))][22X
[5G95[6;21H#[inline(always)][49X
[5G96[7;21Hunsafe fn target_record_sp_limit(limit: usize) {   
[5G(B[0;7m97[8;21H    asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98[9;21H}
[5G99[10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[5G100[11;21H#[inline(always)]
[5G101[12;21Hunsafe fn target_record_sp_limit(_: usize) {}
[5G102[13;21H[17X
[5G103[14;21H// mips, arm - The implementations are a bit big for inline asm!           
[5G104[15;21H//[15;36HThey can be found in src/rt/arch/$target_arch/record_sp.S[1;17H[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;14H(0[0m(Bb[17;48H+11> add    $0x4740a,%ebx[18;13Ha[18;50H7>[18;60H0x8(%ebp),%eax[19;13Ha4[19;49H20> cmpl   $0x1,0x34(%eax)[20;13Ha8[20;49H24> jne    0x56557ac1 <context::context::Context::load+49>[21;13Haa[21;49H26> mov    $0x5000,%ecx[35X[22;13Haf[22;49H31> add    0x38(%eax),%ecx
[5G(B[0;7m0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[24;13H(B[mb9[24;49H41[24;60H%eax,(%esp)   [25;13Hbc[25;49H44> call   0x56558125 <rust_load_registers>[26;13Hc1[26;49H49> mov    $0x5000,%ecx[35X[27;13Hc6[27;49H54[27;60H%ecx,%gs:0x30
[5G0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)    [29;13Hd0[29;49H64> call   0x56558125 <rust_load_registers>[30;13Hd5[38X[30;53Hxchg   %ax,%ax    [168G[28;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=4146089984) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[32;149H(B[0;7m148[167G9
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[23;5H0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)[168G(B[m
[A   
[16d[24d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[8d   [H[8d  >
[16d[24;5H0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)
[5G(B[0;7m0x56557abc <context::context::Context::load+44> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax[18;11H(B[m8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[24X[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp[23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G0x5655813c <rust_load_registers+23>[21X[25;61Hpopf[27X[26;11H813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)[27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret         [28;11H8141[46X[28;61Hxchg   %ax,%ax[29;11H8143[46X[29;61Hxchg   %ax,%ax[17X[30;11H814[30;53H        xchg   %ax,%ax[168G[25;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56558129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx
[5G(B[0;7m0x5655812c <rust_load_registers+7>                      mov    0x10(%eax),%ebp[168G(B[m
[A   
[16d


  >
[31d[47d0x5655812c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7mf
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x5655812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp
[5G(B[0;7m0x5655812f <rust_load_registers+10>                     mov    0x14(%eax),%esi[168G(B[m
[A   
[16d



  >
[31d[47d0x5655812f in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[166G(B[0;7m32
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x5655812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi
[5G(B[0;7m0x56558132 <rust_load_registers+13>                     mov    0x18(%eax),%edi[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56558132 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56558132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi
[5G(B[0;7m0x56558135 <rust_load_registers+16>                     mov    0x1c(%eax),%esp[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56558135 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56558135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp
[5G(B[0;7m0x56558138 <rust_load_registers+19>                     mov    0x2c(%eax),%ecx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x56558138 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7mb
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x56558138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx
[5G(B[0;7m0x5655813b <rust_load_registers+22>                     push   %ecx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655813b in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G(B[0;7m0x5655813c <rust_load_registers+23>                     popf   [168G(B[m
[A   
[16d[25d  >
[31d[47d0x5655813c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x5655813c <rust_load_registers+23>[21X[25;61Hpopf   
[5G(B[0;7m0x5655813d <rust_load_registers+24>                     jmp    *0x30(%eax)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x5655813d in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7minit_fn::h077318b8b8430b28raa[164G7600
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557600 <_ZN7init_fn20h077318b8b8430b28raaE>         push   %ebp(B[m          [18;11H7601 <_ZN7init_fn20h077318b8b8430b28raaE+1>[18;68H%esp,%ebp     [19;11H7603 <_ZN7init_fn20h077318b8b8430b28raaE+3>[61Gpush   %ebx           [20;11H7604 <_ZN7init_fn20h077318b8b8430b28raaE+4>[61Gpush   %esi           [21;11H7605 <_ZN7init_fn20h077318b8b8430b28raaE+5>[61Gsub    $0x10,%esp     [22;11H7608 <_ZN7init_fn20h077318b8b8430b28raaE+8>[61Gcall   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[23;11H760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[61Gpop    %ebx           [24;11H760e <_ZN7init_fn20h077318b8b8430b28raaE+14>[61Gadd    $0x47897,%ebx[25;11H7614 <_ZN7init_fn20h077318b8b8430b28raaE+20>[61Gmov    0x8(%ebp),%esi
[5G0x56557617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp) [27;11H761a <_ZN7init_fn20h077318b8b8430b28raaE+26>[61Gmov    %esi,(%esp)[28;11H761d <_ZN7init_fn20h077318b8b8430b28raaE+29>[61Gcall   0x56557a90 <context::context::Context::load>[29;11H7622
7624[168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56557600 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56557600 <_ZN7init_fn20h077318b8b8430b28raaE>         push   %ebp
[5G(B[0;7m0x56557601 <_ZN7init_fn20h077318b8b8430b28raaE+1>       mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d[47d0x56557601 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56557601 <_ZN7init_fn20h077318b8b8430b28raaE+1>       mov    %esp,%ebp
[5G(B[0;7m0x56557603 <_ZN7init_fn20h077318b8b8430b28raaE+3>       push   %ebx[168G(B[m
[A   
[16d


  >
[31d[47d0x56557603 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x56557603 <_ZN7init_fn20h077318b8b8430b28raaE+3>       push   %ebx
[5G(B[0;7m0x56557604 <_ZN7init_fn20h077318b8b8430b28raaE+4>       push   %esi[168G(B[m
[A   
[16d



  >
[31d[47d0x56557604 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x56557604 <_ZN7init_fn20h077318b8b8430b28raaE+4>       push   %esi
[5G(B[0;7m0x56557605 <_ZN7init_fn20h077318b8b8430b28raaE+5>       sub    $0x10,%esp[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56557605 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56557605 <_ZN7init_fn20h077318b8b8430b28raaE+5>       sub    $0x10,%esp
[5G(B[0;7m0x56557608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56557608 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56557608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>
[5G(B[0;7m0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x5655760d in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7me
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx
[5G(B[0;7m0x5655760e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655760e in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[166G(B[0;7m14
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655760e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx
[5G(B[0;7m0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi[168G(B[m
[A   
[16d[25d  >
[31d[47d0x56557614 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m7
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi
[5G(B[0;7m0x56557617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x56557617 in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7msave_and_load::main::callback[32;149H19[165G8a0
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m13[2;17HContext::load(ctx);
[5G14[13G}
[5G15
16[13Gfn main() {
[5G17[6;17Hlet mut cur = Context::empty();
[5G18
(B[0;7m19          fn callback() {}
[5G(B[m20[9;62H[23X
[5G21[10;17Hlet mut stk = Stack::new(MIN_STACK).unwrap();
[5G22[11;17Hlet ctx = Context::new(init_fn,
[5G23[12;40Hunsafe { transmute(&cur) },
[5G24[13;40Hunsafe { transmute(callback) },
[5G25[14;40H&mut stk);
[5G26[1;32H
[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x565578a0 <save_and_load::main::callback>      push   %ebp(B[m        [18;12H8a1 <save_and_load::main::callback+1>    mov    %esp,%ebp        [19;12H8a3 <save_and_load::main::callback+3>    pop    %ebp        [20;12H8a4 <save_and_load::main::callback+4>    ret[16X[21;12H8a5[38X[21;53Hxchg   %ax,%ax           [22;12H8a7[38X[22;53Hxchg   %ax,%ax[51X[23;12H8a9[38X[23;53Hxchg   %ax,%ax     [24;12H8ab[38X[24;53Hxchg   %ax,%ax[14X[25;12H8ad[38X[25;53Hxchg   %ax,%ax[15X
[5G0x565578af[38X[26;53Hnop[22X[27;12H8b0 <main>[31X[27;53Hpush   %ebx[15X[28;12H8b1 <main+1>[29X[28;53Hsub    $0x18,%esp[42X[29;12H8b4 <main+4>[29;53Hcall   0x565578b9 <main+9>[30;12H8b9 <main+9>[30;53Hpop    %ebx           [168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47dsave_and_load::main::callback () at examples/save_and_load.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x565578a0 <save_and_load::main::callback>      push   %ebp
[5G(B[0;7m0x565578a1 <save_and_load::main::callback+1>    mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x565578a1 <save_and_load::main::callback+1>    mov    %esp,%ebp
[5G(B[0;7m0x565578a3 <save_and_load::main::callback+3>    pop    %ebp[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x565578a3 <save_and_load::main::callback+3>    pop    %ebp
[5G(B[0;7m0x565578a4 <save_and_load::main::callback+4>    ret    [168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d[32;31H(B[0;7minit_fn::h077318b8b8430b28raa[32;149H??[165G61a
(B[m[2;5H  [2;17H[19X
[5G  [13G 
[5G  
  [13G           
[5G  [6;17H[31X
[5G  
[28X
  
  [10;17H[45X
[5G  [11;17H[31X
[5G  [12;40H[27X
[5G  [13;40H[31X
[5G  [14;40H          
[5G  
(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;12H(0[0m(B608 <_ZN7init_fn20h077318b8b8430b28raaE+8>       call   0x5655760d <_ZN7init_fn20h077318b8b8430b28raaE+13>[18;12H60d <_ZN7init_fn20h077318b8b8430b28raaE+13>      pop    %ebx[19;12H60e <_ZN7init_fn20h077318b8b8430b28raaE+14>      add    $0x47897,%ebx
[5G0x56557614 <_ZN7init_fn20h077318b8b8430b28raaE+20>      mov    0x8(%ebp),%esi[21;12H617 <_ZN7init_fn20h077318b8b8430b28raaE+23>      call   *0xc(%ebp)
[5G(B[0;7m0x5655761a <_ZN7init_fn20h077318b8b8430b28raaE+26>      mov    %esi,(%esp)[23;12H(B[m61d <_ZN7init_fn20h077318b8b8430b28raaE+29>      call   0x56557a90 <context::context::Context::load>[24;12H622[24;53H        xchg   %ax,%ax[25;12H624[25;53H        xchg   %ax,%ax[26;12H626[26;53H        xchg   %ax,%ax[27;12H628       [27;53H        xchg   %ax,%ax[28;12H62a         [28;53H        xchg   %ax,%ax[29;12H62c         [29;53H        xchg   %ax,%ax    [30;12H62e         [30;53H        xchg   %ax,%ax[168G[20;3H 
[16d[22d  >
[31d[22d   
[16d[22d  >
[31d[47d0x5655761a in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;32H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;32H[9;62H[ No Source Available ][H[16d[22;5H0x5655761a <_ZN7init_fn20h077318b8b8430b28raaE+26>      mov    %esi,(%esp)
[5G(B[0;7m0x5655761d <_ZN7init_fn20h077318b8b8430b28raaE+29>      call   0x56557a90 <context::context::Context::load>[168G(B[m
[A   
[16d[23d  >
[31d[47d0x5655761d in init_fn::h077318b8b8430b28raa ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;32H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga90
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123[2;21H}
[5G124[3;17H}
[5G125
126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130[9;21Hlet regs: &Registers = &to_context.regs;[24X
[5G131
132[11;21Hunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being[1;21H
[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp(B[m[54X[18;12Ha91 <context::context::Context::load+1>  mov    %esp,%ebp   [19;12Ha93 <context::context::Context::load+3>  push   %ebx[17X[20;12Ha94 <context::context::Context::load+4>  push   %eax[18X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx[15X
[5G0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[39X[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax [25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[26;12Haa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx   [28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ec[29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30  [30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)    [168G[23;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;149H(B[0;7m97 [166Gc1
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[5G(0[0;1;7m(B(B[m91 [2;21H    asm!("movl $$0x48+90*4, %eax
[5G92 [3;17H [3;31Hmovl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")
[5G93 [4;21H}
[5G94 [5;17H    #[cfg(all(target_arch = "x86", target_os = "linux"))]        
[5G95 [6;17H    #[inline(always)]
[5G96 [7;17H    unsafe fn target_record_sp_limit(limit: usize) {[21X
[5G(B[0;7m97 [8;17H        asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98 [9;21H}[39X
[5G99 [10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[6G00[11;21H#[inline(always)]
[6G01[12;21Hunsafe fn target_record_sp_limit(_: usize) {}[26X
[6G02[13;25H[66X
[6G03[14;21H// mips, arm - The implementations are a bit big for inline asm!       
[6G04[15;21H//             They can be found in src/rt/arch/$target_arch/record_sp.S
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;13H(0[0m(Ba8[17;48H+24> jne    0x56557ac1 <context::context::Context::load+49>[18;13Haa[18;49H26>[18;60H$0x5000,%ecx[19;13Haf[19;50H1> add    0x38(%eax),%ecx[20;13Hb2[20;49H34> mov    %ecx,%gs:0x30[21;13Hb9[21;49H41> mov    %eax,(%esp)[36X[22;13Hbc[22;49H44> call   0x56558125 <rust_load_registers>
[5G(B[0;7m0x56557ac1 <context::context::Context::load+49> mov    $0x5000,%ecx(B[m [24;13Hc6[24;49H54[24;60H%ecx,%gs:0x30 [25;13Hcd[25;49H61> mov    %eax,(%esp)    
[5G0x56557ad0 <context::context::Context::load+64> call   0x56558125 <rust_load_registers>[15X[27;13Hd5[38X[27;53Hxchg   %ax,%ax     [28;13Hd7[38X[28;53Hxchg   %ax,%ax        [29;13Hd9[38X[29;53Hxchg   %ax,%ax      [30;13Hdb[38X[30;53Hxchg   %ax,%ax    [168G[26;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=20480) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7m6
(B[m[8d   [H[8d  >
[16d[23;5H0x56557ac1 <context::context::Context::load+49> mov    $0x5000,%ecx
[5G(B[0;7m0x56557ac6 <context::context::Context::load+54> mov    %ecx,%gs:0x30[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[32;149H(B[0;7m148[167Gd
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[24;5H0x56557ac6 <context::context::Context::load+54> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)[168G(B[m
[A   
[16d[25d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd290) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[166G(B[0;7md0
(B[m[8d   [H[8d  >
[16d[25;5H0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)
[5G(B[0;7m0x56557ad0 <context::context::Context::load+64> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax(B[m[25X[18;11H8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp         [23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx [25;11H813c <rust_load_registers+23>[21X[25;61Hpopf      
[5G0x5655813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)             [27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret   [28;11H8141[28;53H        xchg   %ax,%ax[29;11H8143[29;53H        xchg   %ax,%ax[30;11H8145[30;53H        xchg   %ax,%ax[168G[26;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

   
[16d

  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d

[5G0x56558129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx
[5G(B[0;7m0x5655812c <rust_load_registers+7>                      mov    0x10(%eax),%ebp[168G(B[m
[A   
[16d


  >
[31d[47d0x5655812c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d


   
[16d


  >
[31d
[167G(B[0;7mf
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[19;5H0x5655812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp
[5G(B[0;7m0x5655812f <rust_load_registers+10>                     mov    0x14(%eax),%esi[168G(B[m
[A   
[16d



  >
[31d[47d0x5655812f in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d



   
[16d



  >
[31d
[166G(B[0;7m32
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[20;5H0x5655812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi
[5G(B[0;7m0x56558132 <rust_load_registers+13>                     mov    0x18(%eax),%edi[168G(B[m
[A   
[16d[21d  >
[31d[47d0x56558132 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7m5
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[21;5H0x56558132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi
[5G(B[0;7m0x56558135 <rust_load_registers+16>                     mov    0x1c(%eax),%esp[168G(B[m
[A   
[16d[22d  >
[31d[47d0x56558135 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7m8
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[22;5H0x56558135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp
[5G(B[0;7m0x56558138 <rust_load_registers+19>                     mov    0x2c(%eax),%ecx[168G(B[m
[A   
[16d[23d  >
[31d[47d0x56558138 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23d   
[16d[23d  >
[31d
[167G(B[0;7mb
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[23;5H0x56558138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx
[5G(B[0;7m0x5655813b <rust_load_registers+22>                     push   %ecx[168G(B[m
[A   
[16d[24d  >
[31d[47d0x5655813b in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[24;5H0x5655813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G(B[0;7m0x5655813c <rust_load_registers+23>                     popf   [168G(B[m
[A   
[16d[25d  >
[31d[47d0x5655813c in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7md
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[25;5H0x5655813c <rust_load_registers+23>[21X[25;61Hpopf   
[5G(B[0;7m0x5655813d <rust_load_registers+24>                     jmp    *0x30(%eax)[168G(B[m
[A   
[16d[26d  >
[31d[47d0x5655813d in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d[26d   
[16d[26d  >
[31d[32;31H(B[0;7msave_and_load::main[32;149H31[164G77a4
(B[m[1;7H(B[0;1;7mexamples/save_and_load.rs
[5G(B[m25[2;40H&mut stk);
[5G26
27[4;17Hlet mut _no_use = Box::new(true);
[5G28
29[6;17HContext::save(&mut cur);
[5G30[7;17Hif *_no_use {
[5G(B[0;7m31              *_no_use = false;
[5G(B[m32[9;21HContext::load(&ctx);[9;62H[23X
[5G33[10;17H}
[5G34[13G}
[5G35
36
37
38[1;32H
[8d  >
B+
[16d[8d   
  [H[8d  >
B+
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;11H(0[0m(B7789 <save_and_load::main+345>    cmp    $0xd4,%eax[20X[18;11H778e <save_and_load::main+350>    jne    0x5655788e <save_and_load::main+606>[19;11H7794 <save_and_load::main+356>    lea    -0x1c(%ebp),%eax[15X[20;11H7797 <save_and_load::main+359>    jmp    0x5655787e <save_and_load::main+590>[21;11H779c <save_and_load::main+364>    mov    %esi,(%esp)[20X[22;11H779f <save_and_load::main+367>    call   0x56558106 <rust_save_registers>
[5G(B[0;7m0x565577a4 <save_and_load::main+372>    movb   $0x0,(%edi)(B[m[20X[24;11H77a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax   [25;11H77ad <save_and_load::main+381>    mov    %eax,(%esp)  
[5G0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[27;11H77b5 <save_and_load::main+389>    jmp    0x5655788e <save_and_load::main+606>[28;11H77ba <save_and_load::main+394>    mov    %eax,%esi[14X[29;11H77bc <save_and_load::main+396>    cmp    $0x1d1d1d1d,%edi       [30;11H77c2 <save_and_load::main+402>    je     0x56557861 <save_and_load::main+561>[168G[26;3H 
[16d[23d  >
B+
[31d[23d   
  
[16d[23d  >
B+
[31d[47dsave_and_load::main () at examples/save_and_load.rs:31
[33d[M[47d[33d[8d   
  [H[8d  >
B+
[16d[23d   
  
[16d[23d  >
B+
[31d[47d(gdb) 
[J[33d[8d   
  [H[8d  >
B+
[16d[23d   
  
[16d[23d  >
B+
[31d[32;150H(B[0;7m2[167G7
(B[m[8;5H31[14X[8;21H*_no_use = false;
[5G(B[0;7m32              Context::load(&ctx);[168G(B[m
[A   
  [H[9dB+>
[16d[23;5H0x565577a4 <save_and_load::main+372>    movb   $0x0,(%edi)
[5G(B[0;7m0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax[168G(B[m
[A   
  
[16d[24dB+>
[31d

[M[47dBreakpoint 1, save_and_load::main () at examples/save_and_load.rs:32
[33d[M[47d[33d[9d   [H[9dB+>
[16d[24d   
[16d[24dB+>
[31d[47d(gdb) 
[J[32;167H(B[0;7md
(B[m[9d   [H[9dB+>
[16d[24;5H0x565577a7 <save_and_load::main+375>    lea    -0x100(%ebp),%eax
[5G(B[0;7m0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)[168G(B[m
[A   
[16d[24dB+
>
[31d

[9d   [H[9dB+>
[16d[24d  
 
[16d[24dB+
>
[31d[47d(gdb) 
[J[33d[9d   [H[9dB+>
[16d[24d  
 
[16d[24dB+
>
[31d
[166G(B[0;7mb0
(B[m[9d   [H[9dB+>
[16d[25;5H0x565577ad <save_and_load::main+381>    mov    %eax,(%esp)
[5G(B[0;7m0x565577b0 <save_and_load::main+384>    call   0x56557a90 <context::context::Context::load>[168G(B[m
[24d  
 
[16d[24dB+

>
[31d

[9d   [H[9dB+>
[16d[24d  

 
[16d[24dB+

>
[31d[47d(gdb) 
[J[33d[9d   [H[9dB+>
[16d[24d  

 
[16d[24dB+

>
[31d[32;31H(B[0;7mcontext::context::Context::load[32;149H129[165Ga9
(B[m[1;7H(B[0;1;7msrc/context.rs(0[0;1;7mqqqqqqqqqqq(B(B[m
[5G(0[0;1;7m(B(B[m123[2;21H}[2;40H          
[5G124[3;17H}
[5G125[4;17H[33X
[5G126[5;17H/// Load the context and switch. This function will never return.
[5G127[6;17H///[21X
[5G128[7;17H/// It is equivalent to `Context::swap(&mut dummy_context, &to_context)`.
[5G(B[0;7m129         pub fn load(to_context: &Context) -> ! {
[5G(B[m130             let regs: &Registers = &to_context.regs;
[5G131[10;17H 
[5G132      [21Gunsafe {
[5G133[12;25H// Right before we switch to the new context, set the new context's
[5G134[13;25H// stack limit in the OS-specified TLS slot. This also  means that
[5G135[14;25H// we cannot call any more rust functions after record_stack_bounds
[5G136[15;25H// returns because they would all likely fail due to the limit being
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m
[9d   [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56557a90 <context::context::Context::load>    push   %ebp[18;12H(B[ma91 <context::context::Context::load+1>  mov    %esp,%ebp[19X[19;12Ha93 <context::context::Context::load+3>  push   %ebx    [20;12Ha94 <context::context::Context::load+4>  push   %eax[24X[21;12Ha95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[22;12Ha9a <context::context::Context::load+10> pop    %ebx[20X[23;12Ha9b <context::context::Context::load+11> add    $0x4740a,%ebx[24;12Haa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[25;12Haa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[27;12Haaa <context::context::Context::load+26> mov    $0x5000,%ecx[16X[28;12Haaf <context::context::Context::load+31> add    0x38(%eax),%ecx[29;12Hab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[30;12Hab9 <context::context::Context::load+41> mov    %eax,(%esp)[17X[168G
[24d  

 
[16d
  >
[31d[17d   
[A
  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:129
[33d[M[47d[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d
   
[A
  >
[31d
[167G(B[0;7m1
(B[m[8d   [H[8d  >
[16d
[5G0x56557a90 <context::context::Context::load>    push   %ebp
[5G(B[0;7m0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp[168G(B[m
[A   
[A

  >
[31d

[8d   [H[8d  >
[16d

   
[16d

  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d

   
[16d

  >
[31d
[167G(B[0;7m3
(B[m[8d   [H[8d  >
[16d

[5G0x56557a91 <context::context::Context::load+1>  mov    %esp,%ebp
[5G(B[0;7m0x56557a93 <context::context::Context::load+3>  push   %ebx[168G(B[m
[A   
[16d


  >
[31d

[8d   [H[8d  >
[16d


   
[16d


  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d


   
[16d


  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[19;5H0x56557a93 <context::context::Context::load+3>  push   %ebx
[5G(B[0;7m0x56557a94 <context::context::Context::load+4>  push   %eax[168G(B[m
[A   
[16d



  >
[31d

[8d   [H[8d  >
[16d



   
[16d



  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d



   
[16d



  >
[31d
[167G(B[0;7m5
(B[m[8d   [H[8d  >
[16d[20;5H0x56557a94 <context::context::Context::load+4>  push   %eax
[5G(B[0;7m0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>[168G(B[m
[A   
[16d[21d  >
[31d

[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[21d   
[16d[21d  >
[31d
[167G(B[0;7ma
(B[m[8d   [H[8d  >
[16d[21;5H0x56557a95 <context::context::Context::load+5>  call   0x56557a9a <context::context::Context::load+10>
[5G(B[0;7m0x56557a9a <context::context::Context::load+10> pop    %ebx[168G(B[m
[A   
[16d[22d  >
[31d

[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[22d   
[16d[22d  >
[31d
[167G(B[0;7mb
(B[m[8d   [H[8d  >
[16d[22;5H0x56557a9a <context::context::Context::load+10> pop    %ebx
[5G(B[0;7m0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx[168G(B[m
[A   
[16d[23d  >
[31d

[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d
[166G(B[0;7ma1
(B[m[8d   [H[8d  >
[16d[23;5H0x56557a9b <context::context::Context::load+11> add    $0x4740a,%ebx
[5G(B[0;7m0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax[168G(B[m
[A   
[16d[24d  >
[31d

[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7m4
(B[m[8d   [H[8d  >
[16d[24;5H0x56557aa1 <context::context::Context::load+17> mov    0x8(%ebp),%eax
[5G(B[0;7m0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d
[167G(B[0;7m8
(B[m[8d   [H[8d  >
[16d[25;5H0x56557aa4 <context::context::Context::load+20> cmpl   $0x1,0x34(%eax)
[5G(B[0;7m0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>[168G(B[m
[A   
[16d[26d  >
[31d

[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[26d   
[16d[26d  >
[31d[32;150H(B[0;7m9 [167Ga
(B[m[1;11H(B[0;1;7msys.rs(0[0;1;7mqqqq(B(B[m
[6G(0[0;1;7m(B(B[m3 [2;21H// symbol resolution, llvm function calls, etc. In theory this red zone
[6G4 [3;17H    // value is 0, but it matters far less when we have gigantic stacks because
[6G5 [4;21H// we don't need to be so exact about our stack budget. The "fudge factor"
[6G6 [5;17H    // was because LLVM doesn't emit a stack check for functions < 256 bytes in
[6G7 [6;17H    // size. Again though, we have giant stacks, so we round all these
[6G8 [7;17H    // calculations up to the nice round number of 20k.[18X
[6G(B[0;7m9 [8;17H    record_sp_limit(stack_lo + RED_ZONE);
[5G(B[m20 [9;21H[40X
[5G21 [10;21Hreturn target_record_stack_bounds(stack_lo, stack_hi);
[5G22 [11;21H        
[5G23 [12;21H#[cfg(not(windows))][51X
[5G24 [13;21H#[inline(always)][53X
[5G25 [14;21Hunsafe fn target_record_stack_bounds(_stack_lo: usize, _stack_hi: usize) {}
[5G26 [15;25H[68X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;17H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[26;5H0x56557aa8 <context::context::Context::load+24> jne    0x56557ac1 <context::context::Context::load+49>
[5G(B[0;7m0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx[168G(B[m
[A   
[16d[27d  >



[47drecord_rust_managed_stack_bounds (stack_hi=0, stack_lo=<optimized out>) at src/sys.rs:19
[33d[M[47d[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >



[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[27d   
[16d[27d  >




[167G(B[0;7mf
(B[m[8d   [H[8d  >
[16d[27;5H0x56557aaa <context::context::Context::load+26> mov    $0x5000,%ecx
[5G(B[0;7m0x56557aaf <context::context::Context::load+31> add    0x38(%eax),%ecx[168G(B[m
[A   
[16d[28d  >




[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[28d   
[16d[28d  >


[32;149H(B[0;7m97[166Gb2
(B[m[2;5H91[2;21H    asm!("movl $$0x48+90*4, %eax[39X
[5G92[3;21H          movl $0, %gs:(%eax)" :: "r"(limit) : "eax" : "volatile")         
[5G93[4;21H}[73X
[5G94[5;21H#[cfg(all(target_arch = "x86", target_os = "linux"))][22X
[5G95[6;21H#[inline(always)][49X
[5G96[7;21Hunsafe fn target_record_sp_limit(limit: usize) {   
[5G(B[0;7m97[8;21H    asm!("movl $0, %gs:48" :: "r"(limit) :: "volatile")
[5G(B[m98[9;21H}
[5G99[10;21H#[cfg(all(target_arch = "x86", target_os = "windows"))]
[5G100[11;21H#[inline(always)]
[5G101[12;21Hunsafe fn target_record_sp_limit(_: usize) {}
[5G102[13;21H[17X
[5G103[14;21H// mips, arm - The implementations are a bit big for inline asm!           
[5G104[15;21H//[15;36HThey can be found in src/rt/arch/$target_arch/record_sp.S[1;17H[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;14H(0[0m(Bb[17;48H+11> add    $0x4740a,%ebx[18;13Ha[18;50H7>[18;60H0x8(%ebp),%eax[19;13Ha4[19;49H20> cmpl   $0x1,0x34(%eax)[20;13Ha8[20;49H24> jne    0x56557ac1 <context::context::Context::load+49>[21;13Haa[21;49H26> mov    $0x5000,%ecx[35X[22;13Haf[22;49H31> add    0x38(%eax),%ecx
[5G(B[0;7m0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30[24;13H(B[mb9[24;49H41[24;60H%eax,(%esp)   [25;13Hbc[25;49H44> call   0x56558125 <rust_load_registers>[26;13Hc1[26;49H49> mov    $0x5000,%ecx[35X[27;13Hc6[27;49H54[27;60H%ecx,%gs:0x30
[5G0x56557acd <context::context::Context::load+61> mov    %eax,(%esp)    [29;13Hd0[29;49H64> call   0x56558125 <rust_load_registers>[30;13Hd5[38X[30;53Hxchg   %ax,%ax    [168G[28;3H 
[16d[23d  >
[31d[23d   
[16d[23d  >
[31d[47dtarget_record_sp_limit (limit=4146089984) at src/sys.rs:97
[33d[M[47d[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[23d   
[16d[23d  >
[31d[32;149H(B[0;7m148[167G9
(B[m[1;11H(B[0;1;7mcontext.rs
[5G(B[m142[2;25H    // If we're going back to one of the original contexts or
[5G143[3;29H// something that's possibly not a "normal task", then reset
[5G144[4;21H [29G// the stack limit to 0 to make morestack never fail
[5G145[5;21H        None => sys::stack::record_rust_managed_stack_bounds(0, usize::MAX),
[5G146[6;21H    }            
[5G147[7;21H[48X
[5G(B[0;7m148[8;25Hrust_load_registers(regs);(B[m[25X
[5G149
150[10;17H}[58X
[6G51     }[21G[17X
[6G52[12;21H[45X
[6G53     extern "C" {
[6G54[14;17Hfn rust_swap_registers(out_regs: *mut Registers, in_regs: *const Registers);
[6G55[15;17Hfn rust_save_registers(out_regs: *mut Registers);[27X
   (0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[8;3H [H[8d  >
[16d[8d   [H[8d  >
[16d[23;5H0x56557ab2 <context::context::Context::load+34> mov    %ecx,%gs:0x30
[5G(B[0;7m0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)[168G(B[m
[A   
[16d[24d  >
[31d[47dcontext::context::Context::load (to_context=0xffffd218) at src/context.rs:148
[33d[M[47d[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[24d   
[16d[24d  >
[31d
[167G(B[0;7mc
(B[m[8d   [H[8d  >
[16d[24;5H0x56557ab9 <context::context::Context::load+41> mov    %eax,(%esp)
[5G(B[0;7m0x56557abc <context::context::Context::load+44> call   0x56558125 <rust_load_registers>[168G(B[m
[A   
[16d[25d  >
[31d

[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[47d(gdb) 
[J[33d[8d   [H[8d  >
[16d[25d   
[16d[25d  >
[31d[32;31H(B[0;7mrust_load_registers            [32;149H?? [164G8125
(B[m[2;5H   [2;29H[57X
[5G   [3;29H[60X
[5G   [4;29H[52X
[5G   [5;29H[68X
[5G   [6;25H 
[5G   
[46X
   [9;21H 
[5G   [10;17H 
[5G         
[5G   
[20X
   [14;17H[76X
[5G   [15;17H[49X[1;21H[9;62H[ No Source Available ]
[A   [H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[0;7m0x56558125 <rust_load_registers>                        mov    0x4(%esp),%eax[18;11H(B[m8129 <rust_load_registers+4>[22X[18;61Hmov    0x4(%eax),%ebx[19;11H812c <rust_load_registers+7>[22X[19;61Hmov    0x10(%eax),%ebp[20;11H812f <rust_load_registers+10>[21X[20;61Hmov    0x14(%eax),%esi[24X[21;11H8132 <rust_load_registers+13>[21X[21;61Hmov    0x18(%eax),%edi[22;11H8135 <rust_load_registers+16>[21X[22;61Hmov    0x1c(%eax),%esp[23;11H8138 <rust_load_registers+19>[21X[23;61Hmov    0x2c(%eax),%ecx[24;11H813b <rust_load_registers+22>[21X[24;61Hpush   %ecx
[5G0x5655813c <rust_load_registers+23>[21X[25;61Hpopf[27X[26;11H813d <rust_load_registers+24>[21X[26;61Hjmp    *0x30(%eax)[27;11H8140 <_ZN2i89drop.794317h9122c215bacf5e74E>       ret         [28;11H8141[46X[28;61Hxchg   %ax,%ax[29;11H8143[46X[29;61Hxchg   %ax,%ax[17X[30;11H814[30;53H        xchg   %ax,%ax[168G[25;3H 
[16d
  >
[31d[17d   
[A
  >
[31d[47d0x56558125 in rust_load_registers ()
[33d[M[47d(gdb) 
[J[33d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[16d
   
[A
  >
[31d
[167G(B[0;7m9
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d
[5G0x56558125 <rust_load_registers>[24X[17;61Hmov    0x4(%esp),%eax
[5G(B[0;7m0x56558129 <rust_load_registers+4>                      mov    0x4(%eax),%ebx[168G(B[m
[A   
[A

  >
[31d[47d0x56558129 in rust_load_registers ()
[33d[M[47d(gdb) q
[33d[M[47dA debugging session is active.
[33d[M[47d[33d[M[47d[47;9HInferior 1 [process 12111] will be killed.
[33d[M[47d[33d[M[47dQuit anyway? (y or n) y
[32;12H(B[0;7mNo process In: rust_load_registers    
(B[m[32;27H(B[0;7m                   [32;143H        Line: ??   PC: ??
(B[m[9;62H[23X[1;21H[9;62H[ No Source Available ][H[16d   (0[0mlqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqk(B[17;5H(0[0m(B[32X[17;61H[21X
[5G[77X
[34X[19;61H[22X
[5G[35X[20;61H[22X
[5G[35X[21;61H[22X
[5G[35X[22;61H[22X
[5G[35X[23;61H[22X
[5G[35X[24;61H           
[5G[35X[25;61H    
[5G[35X[26;61H[18X
[5G[49X[27;61H   
[5G          [28;61H[14X
[5G          [29;61H[14X
[5G          [30;61H[14X[16;4H[24;60H[ No Assembly Available ][18;3H 
[16d[31d[17;5H0x565578b0 <main>[29Gpush   %ebx
[5G0x565578b1 <main+1>     sub    $0x18,%esp
[5G0x565578b4 <main+4>     call   0x565578b9 <main+9>
[5G0x565578b9 <main+9>     pop    %ebx
[5G0x565578ba <main+10>    add    $0x475eb,%ebx
[5G0x565578c0 <main+16>    mov    0x20(%esp),%eax
[5G0x565578c4 <main+20>    mov    0x24(%esp),%ecx
[5G0x565578c8 <main+24>    lea    -0xc5b8(%ebx),%edx[60G[25X
[5G0x565578ce <main+30>    mov    (%edx),%dl
[5G0x565578d0 <main+32>    mov    %ecx,0x8(%esp)
[5G0x565578d4 <main+36>    mov    %eax,0x4(%esp)
[5G0x565578d8 <main+40>    lea    -0x47874(%ebx),%eax
[5G0x565578de <main+46>    mov    %eax,(%esp)
[5G0x565578e1 <main+49>    call   0x5655e420 <_ZN2rt10lang_start20hbe954a33d7b1851dGwyE>[168G
[16d[31d[9;62H[23X[16;4H(0[0;1;7mmqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqqj(B(B[m[1;21H(0[0;1;7m(B(B[m[9;62H[ No Source Available ][H[33d[47;1H[?1049l
[?1l>]0;context-rs ~/src/git (vi)[G[01;32mv@l:20:01:43:~/src/git/context-rs$ [01;0mexit

Script done on Sun 24 Jan 2016 08:01:43 PM FET
