| OLD | NEW |
| (Empty) |
| 1 [dist4]message_header // num_bytes | |
| 2 [u4]0 // version | |
| 3 [u4]0 // interface ID | |
| 4 [u4]2 // name | |
| 5 [u4]0 // flags | |
| 6 [u4]0 // padding | |
| 7 [anchr]message_header | |
| 8 | |
| 9 [dist4]method2_params // num_bytes | |
| 10 [u4]0 // version | |
| 11 [dist8]param0_ptr // param0 | |
| 12 [dist8]param1_ptr // param1 | |
| 13 [anchr]method2_params | |
| 14 | |
| 15 [anchr]param0_ptr | |
| 16 [dist4]struct_b // num_bytes | |
| 17 [u4]0 // version | |
| 18 [dist8]struct_a_ptr // struct_a | |
| 19 [anchr]struct_b | |
| 20 | |
| 21 [u8]0 // Having extra bytes in the middle is okay if the following objects are | |
| 22 // still properly alignmented. | |
| 23 | |
| 24 [anchr]struct_a_ptr | |
| 25 [dist4]struct_a_member // num_bytes | |
| 26 [u4]0 // version | |
| 27 [u8]12345 // i | |
| 28 [anchr]struct_a_member | |
| 29 | |
| 30 [anchr]param1_ptr | |
| 31 [dist4]struct_a_param // num_bytes | |
| 32 [u4]0 // version | |
| 33 [u8]67890 // i | |
| 34 [anchr]struct_a_param | |
| OLD | NEW |