Lines Matching full:ebp
163 raw_context.ebp = 0x80000000;
190 raw_context.ebp = 0x80000000;
213 raw_context.ebp = 0x80000000;
238 // %ebp just below the return address, and has its own %ebp pointing
239 // at the saved %ebp.
245 .Mark(&frame0_ebp) // frame 0 %ebp points here
246 .D32(frame1_ebp) // frame 0: saved %ebp
249 .Mark(&frame1_ebp) // frame 1 %ebp points here
250 .D32(0) // frame 1: saved %ebp (stack end)
255 raw_context.ebp = frame0_ebp.Value();
276 EXPECT_EQ(frame0_ebp.Value(), frame0->context.ebp);
289 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
294 // Walk a traditional frame, but use a bogus %ebp value, forcing a scan
305 .D32(frame1_ebp) // saved %ebp (%ebp fails to point here, forcing scan)
310 .Mark(&frame1_ebp) // %ebp points here
311 .D32(0) // saved %ebp (stack end)
319 raw_context.ebp = 0xd43eed6e;
341 EXPECT_EQ(0xd43eed6eU, frame0->context.ebp);
355 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
371 .D32(frame1_ebp) // saved %ebp (%ebp fails to point here, forcing scan)
376 .Mark(&frame1_ebp) // %ebp points here
377 .D32(0) // saved %ebp (stack end)
385 raw_context.ebp = 0xd43eed6e;
407 EXPECT_EQ(0xd43eed6eU, frame0->context.ebp);
421 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
436 .D32(frame1_ebp) // saved %ebp (%ebp fails to point here, forcing scan)
440 .Mark(&frame1_ebp) // %ebp points here
441 .D32(0) // saved %ebp (stack end)
449 raw_context.ebp = 0xd43eed6e;
473 EXPECT_EQ(0xd43eed6eU, frame0->context.ebp);
490 " $ebp $T2 16 - ^ =\n");
495 .D32(frame1_ebp) // saved regs: %ebp
505 .D32(0) // saved %ebp (stack end)
511 raw_context.ebp = 0xf052c1de; // should not be needed to walk frame
532 EXPECT_EQ(0xf052c1deU, frame0->context.ebp);
549 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
565 " $ebp $T1 4 - ^ ="
579 .D32(frame1_ebp) // saved %ebp
585 .D32(0) // saved %ebp (stack end)
591 raw_context.ebp = frame0_ebp.Value();
613 EXPECT_EQ(frame0_ebp.Value(), frame0->context.ebp);
627 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
646 " $ebp $T0 20 - ^ ="
657 .D32(0x6fa902e0) // saved %ebp. Not a frame pointer.
664 .D32(frame2_ebp) // saved %ebp
674 .D32(0) // saved %ebp (stack end)
680 raw_context.ebp = frame0_ebp.Value();
701 EXPECT_EQ(frame0_ebp.Value(), frame0->context.ebp);
725 EXPECT_EQ(0x6fa902e0U, frame1->context.ebp);
749 EXPECT_EQ(frame2_ebp.Value(), frame2->context.ebp);
758 // expression fails to yield both an $eip and an $ebp value, and the stack
766 "STACK WIN 4 7c38 accf 0 0 4 10 4 0 1 $eip 0 = $ebp 0 =\n");
780 raw_context.ebp = 0x2ae314cd; // should not be needed to walk frame
801 EXPECT_EQ(0x2ae314cdU, frame0->context.ebp);
809 // does not actually fetch the EBP after a scan (forcing the next frame
831 " $eip $ebp 4 + ^ = $esp $ebp 8 + = $ebp $ebp ^ =\n");
835 "STACK WIN 4 cfdb 8406 0 0 0 0 0 0 1 $eip 0 = $ebp 0 =\n");
838 // In this stack, the context's %ebp is pointing at the wrong place, so
840 // scan again to find the caller's saved %ebp.
845 .Mark(&frame0_ebp) // frame 0 %ebp points here, but should point
848 // frame 1's saved %ebp and return address, but the %ebp is wrong;
850 .D32(0x3d937b2b) // alleged to be frame 1's saved %ebp
852 .D32(frame1_ebp) // frame 1's real saved %ebp; scan will find
854 // *** frame 0 %ebp ought to be pointing here
861 .Mark(&frame1_ebp) // frame 1 %ebp points here
862 // A dummy value for frame 1's %ebp to point at. The scan recognizes the
863 // saved %ebp because it points to a valid word in the stack memory region.
869 raw_context.ebp = frame0_ebp.Value();
890 EXPECT_EQ(frame0_ebp.Value(), frame0->context.ebp);
898 // walker does not actually fetch the EBP after a scan (forcing the
908 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
914 // does not modify %ebp from the value it had in the caller.
935 .D32(0) // saved %ebp (stack end)
942 raw_context.ebp = frame1_ebp.Value();
964 EXPECT_EQ(frame1_ebp.Value(), frame0->context.ebp);
987 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
995 // that uses %ebp for its own purposes, saving the value it had in the
1010 .D32(frame1_ebp) // saved register area: saved %ebp
1018 .D32(0) // saved %ebp (stack end)
1024 // RaisedByTheAliens uses %ebp for its own mysterious purposes.
1025 raw_context.ebp = 0xecbdd1a5;
1046 EXPECT_EQ(0xecbdd1a5, frame0->context.ebp);
1070 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
1089 "STACK WIN 4 109f9 df c 0 c c 48 0 1 $T0 $ebp = $eip "
1090 "$T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L "
1092 "STACK WIN 4 36590 154 17 0 10 0 14 0 1 $T0 $ebp = $eip "
1093 "$T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 "
1098 "STACK WIN 4 11136 16 5 0 8 0 0 0 1 $T0 $ebp = $eip "
1099 "$T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L "
1101 "STACK WIN 4 11151 7a 5 0 c 0 0 0 1 $T0 $ebp = $eip "
1102 "$T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L "
1148 .D32(frame2_ebp) // Child EBP
1155 .D32(frame3_ebp) // Child EBP
1161 .D32(0) // saved %ebp (stack end)
1168 raw_context.ebp = frame1_ebp.Value();
1190 EXPECT_EQ(frame1_ebp.Value(), frame0->context.ebp);
1213 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
1222 EXPECT_EQ("$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L "
1240 "STACK WIN 4 38180 61 10 0 8 0 0 0 1 $T0 $ebp = $eip $T0 "
1241 "4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs "
1247 "STACK WIN 4 efda 1bb c 0 8 8 3c 0 1 $T0 $ebp = $eip $T0 "
1248 "4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs "
1256 "$T0 $T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp "
1278 .D32(frame1_ebp) // Child EBP
1293 .D32(frame2_ebp) // Child EBP
1326 .D32(frame3_ebp) // Child EBP
1372 .D32(0) // saved %ebp (stack end)
1378 raw_context.ebp = frame0_ebp.Value();
1381 ASSERT_TRUE(raw_context.ebp == stack_section.start().Value() + 8);
1403 EXPECT_EQ(frame0_ebp.Value(), frame0->context.ebp);
1410 EXPECT_EQ("$T0 $ebp = $eip $T0 "
1411 "4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs "
1428 EXPECT_EQ(frame2_ebp.Value(), frame1->context.ebp);
1435 EXPECT_EQ("$T0 $ebp = $eip $T0 "
1436 "4 + ^ = $ebp $T0 ^ = $esp $T0 8 + = $L $T0 .cbSavedRegs "
1452 EXPECT_EQ(frame3_ebp.Value(), frame2->context.ebp);
1460 "$T0 $T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp "
1469 // used in the program string. The current %ebp must be valid and it is the
1478 "$T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp $T1 4 + = "
1483 "$T0 $T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp "
1489 "$T1 4 - 64 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp $T1 4 + "
1494 "STACK WIN 4 55bf0 49 c 0 4 0 10 0 1 $T0 $ebp = $eip $T0 4 "
1495 "+ ^ = $ebp $T0 ^ = $esp $T0 8 + =\n"
1499 "$T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp $T1 4 "
1504 "$T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp $T1 4 + = "
1552 .D32(frame1_ebp) // Child EBP .D32(0x046bfd0c)
1564 .D32(frame2_ebp) // Child EBP .D32(0x046bfd30)
1577 .D32(0) // saved %ebp (stack end)
1584 raw_context.ebp = frame0_ebp.Value();
1607 EXPECT_EQ(frame0_ebp.Value(), frame->context.ebp);
1614 "$T1 4 - 64 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp $T1 4 + "
1632 EXPECT_EQ(frame1_ebp.Value(), frame->context.ebp);
1638 EXPECT_EQ("$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =",
1654 EXPECT_EQ(frame2_ebp.Value(), frame->context.ebp);
1661 "$T1 4 - 8 @ = $ebp $T1 4 - ^ = $eip $T1 ^ = $esp $T1 4 + = "
1683 "STACK WIN 4 137214 17d 9 0 10 0 10 0 1 $T0 $ebp = "
1684 "$eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =\n"
1685 "STACK WIN 4 15c834 37 6 0 14 0 18 0 1 $T0 $ebp = "
1686 "$eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =\n"
1687 "STACK WIN 4 1611d3 91 7 0 14 0 8 0 1 $T0 $ebp = "
1688 "$eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =\n"
1689 "STACK WIN 4 162ff7 60 5 0 4 0 0 0 1 $T0 $ebp = "
1690 "$eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =\n";
1773 .D32(frame1_ebp) // Child %ebp
1787 .D32(frame2_ebp) // Child %ebp
1801 .D32(frame3_ebp) // Child %ebp
1818 .D32(0) // saved %ebp (stack end)
1823 raw_context.ebp = 0x5420362d; // bogus
1853 EXPECT_EQ(raw_context.ebp, frame0->context.ebp);
1867 EXPECT_EQ(frame1_ebp.Value(), frame1->context.ebp);
1875 EXPECT_EQ("$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =",
1887 EXPECT_EQ(frame2_ebp.Value(), frame2->context.ebp);
1895 EXPECT_EQ("$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =",
1907 EXPECT_EQ(frame3_ebp.Value(), frame3->context.ebp);
1915 EXPECT_EQ("$T0 $ebp = $eip $T0 4 + ^ = $ebp $T0 ^ = $esp $T0 8 + =",
1949 // Save %ebp, and use it as a frame pointer.
1950 "STACK CFI 4006 .cfa: $ebp 8 + $ebp: .cfa 12 - ^\n"
1960 expected.ebp = 0xc0d4aab9;
2014 EXPECT_EQ(expected.ebp, frame1->context.ebp);
2116 .D32(0xc0d4aab9) // saved %ebp
2122 raw_context.ebp = frame0_ebp.Value();