OLD | NEW |
1 // Copyright (c) 1994-2006 Sun Microsystems Inc. | 1 // Copyright (c) 1994-2006 Sun Microsystems Inc. |
2 // All Rights Reserved. | 2 // All Rights Reserved. |
3 // | 3 // |
4 // Redistribution and use in source and binary forms, with or without | 4 // Redistribution and use in source and binary forms, with or without |
5 // modification, are permitted provided that the following conditions | 5 // modification, are permitted provided that the following conditions |
6 // are met: | 6 // are met: |
7 // | 7 // |
8 // - Redistributions of source code must retain the above copyright notice, | 8 // - Redistributions of source code must retain the above copyright notice, |
9 // this list of conditions and the following disclaimer. | 9 // this list of conditions and the following disclaimer. |
10 // | 10 // |
(...skipping 1290 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1301 | 1301 |
1302 // Post-indexed addressing requires W == 1; different than in addrmod2/3. | 1302 // Post-indexed addressing requires W == 1; different than in addrmod2/3. |
1303 if ((am & P) == 0) | 1303 if ((am & P) == 0) |
1304 am |= W; | 1304 am |= W; |
1305 | 1305 |
1306 DCHECK(offset_8 >= 0); // no masking needed | 1306 DCHECK(offset_8 >= 0); // no masking needed |
1307 emit(instr | am | x.rn_.code()*B16 | crd.code()*B12 | offset_8); | 1307 emit(instr | am | x.rn_.code()*B16 | crd.code()*B12 | offset_8); |
1308 } | 1308 } |
1309 | 1309 |
1310 | 1310 |
1311 int Assembler::branch_offset(Label* L, bool jump_elimination_allowed) { | 1311 int Assembler::branch_offset(Label* L) { |
1312 int target_pos; | 1312 int target_pos; |
1313 if (L->is_bound()) { | 1313 if (L->is_bound()) { |
1314 target_pos = L->pos(); | 1314 target_pos = L->pos(); |
1315 } else { | 1315 } else { |
1316 if (L->is_linked()) { | 1316 if (L->is_linked()) { |
1317 // Point to previous instruction that uses the link. | 1317 // Point to previous instruction that uses the link. |
1318 target_pos = L->pos(); | 1318 target_pos = L->pos(); |
1319 } else { | 1319 } else { |
1320 // First entry of the link chain points to itself. | 1320 // First entry of the link chain points to itself. |
1321 target_pos = pc_offset(); | 1321 target_pos = pc_offset(); |
(...skipping 2648 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3970 DCHECK(is_uint12(offset)); | 3970 DCHECK(is_uint12(offset)); |
3971 instr_at_put(pc, SetLdrRegisterImmediateOffset(instr, offset)); | 3971 instr_at_put(pc, SetLdrRegisterImmediateOffset(instr, offset)); |
3972 } | 3972 } |
3973 } | 3973 } |
3974 | 3974 |
3975 | 3975 |
3976 } // namespace internal | 3976 } // namespace internal |
3977 } // namespace v8 | 3977 } // namespace v8 |
3978 | 3978 |
3979 #endif // V8_TARGET_ARCH_ARM | 3979 #endif // V8_TARGET_ARCH_ARM |
OLD | NEW |