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 1189 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1200 | 1200 |
1201 | 1201 |
1202 void Assembler::sub(Register dst, const Operand& src) { | 1202 void Assembler::sub(Register dst, const Operand& src) { |
1203 EnsureSpace ensure_space(this); | 1203 EnsureSpace ensure_space(this); |
1204 last_pc_ = pc_; | 1204 last_pc_ = pc_; |
1205 EMIT(0x2B); | 1205 EMIT(0x2B); |
1206 emit_operand(dst, src); | 1206 emit_operand(dst, src); |
1207 } | 1207 } |
1208 | 1208 |
1209 | 1209 |
| 1210 void Assembler::subb(Register dst, const Operand& src) { |
| 1211 EnsureSpace ensure_space(this); |
| 1212 last_pc_ = pc_; |
| 1213 EMIT(0x2A); |
| 1214 emit_operand(dst, src); |
| 1215 } |
| 1216 |
| 1217 |
1210 void Assembler::sub(const Operand& dst, Register src) { | 1218 void Assembler::sub(const Operand& dst, Register src) { |
1211 EnsureSpace ensure_space(this); | 1219 EnsureSpace ensure_space(this); |
1212 last_pc_ = pc_; | 1220 last_pc_ = pc_; |
1213 EMIT(0x29); | 1221 EMIT(0x29); |
1214 emit_operand(src, dst); | 1222 emit_operand(src, dst); |
1215 } | 1223 } |
1216 | 1224 |
1217 | 1225 |
1218 void Assembler::test(Register reg, const Immediate& imm) { | 1226 void Assembler::test(Register reg, const Immediate& imm) { |
1219 EnsureSpace ensure_space(this); | 1227 EnsureSpace ensure_space(this); |
(...skipping 365 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1585 EnsureSpace ensure_space(this); | 1593 EnsureSpace ensure_space(this); |
1586 last_pc_ = pc_; | 1594 last_pc_ = pc_; |
1587 if (FLAG_emit_branch_hints && hint != no_hint) EMIT(hint); | 1595 if (FLAG_emit_branch_hints && hint != no_hint) EMIT(hint); |
1588 // 0000 1111 1000 tttn #32-bit disp | 1596 // 0000 1111 1000 tttn #32-bit disp |
1589 EMIT(0x0F); | 1597 EMIT(0x0F); |
1590 EMIT(0x80 | cc); | 1598 EMIT(0x80 | cc); |
1591 emit(reinterpret_cast<intptr_t>(code.location()), RelocInfo::CODE_TARGET); | 1599 emit(reinterpret_cast<intptr_t>(code.location()), RelocInfo::CODE_TARGET); |
1592 } | 1600 } |
1593 | 1601 |
1594 | 1602 |
| 1603 void Assembler::loope(Label* L) { |
| 1604 EnsureSpace ensure_space(this); |
| 1605 last_pc_ = pc_; |
| 1606 // Only short backward jumps. |
| 1607 ASSERT(L->is_bound()); |
| 1608 int offs = L->pos() - pc_offset(); |
| 1609 const int kLoopInstructionSize = 2; |
| 1610 ASSERT(is_int8(offs - kLoopInstructionSize)); |
| 1611 EMIT(0xE1); |
| 1612 EMIT((offs - kLoopInstructionSize) & 0xFF); |
| 1613 } |
| 1614 |
1595 // FPU instructions | 1615 // FPU instructions |
1596 | 1616 |
1597 | 1617 |
1598 void Assembler::fld(int i) { | 1618 void Assembler::fld(int i) { |
1599 EnsureSpace ensure_space(this); | 1619 EnsureSpace ensure_space(this); |
1600 last_pc_ = pc_; | 1620 last_pc_ = pc_; |
1601 emit_farith(0xD9, 0xC0, i); | 1621 emit_farith(0xD9, 0xC0, i); |
1602 } | 1622 } |
1603 | 1623 |
1604 | 1624 |
(...skipping 751 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2356 push_insn[1] = 13; // Skip over coverage insns. | 2376 push_insn[1] = 13; // Skip over coverage insns. |
2357 if (coverage_log != NULL) { | 2377 if (coverage_log != NULL) { |
2358 fprintf(coverage_log, "%s\n", file_line); | 2378 fprintf(coverage_log, "%s\n", file_line); |
2359 fflush(coverage_log); | 2379 fflush(coverage_log); |
2360 } | 2380 } |
2361 } | 2381 } |
2362 | 2382 |
2363 #endif | 2383 #endif |
2364 | 2384 |
2365 } } // namespace v8::internal | 2385 } } // namespace v8::internal |
OLD | NEW |