OLD | NEW |
1 // Copyright 2009 the V8 project authors. All rights reserved. | 1 // Copyright 2009 the V8 project authors. All rights reserved. |
2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
4 // met: | 4 // met: |
5 // | 5 // |
6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
(...skipping 438 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
449 void Assembler::arithmetic_op_32(byte opcode, Register dst, Register src) { | 449 void Assembler::arithmetic_op_32(byte opcode, Register dst, Register src) { |
450 EnsureSpace ensure_space(this); | 450 EnsureSpace ensure_space(this); |
451 last_pc_ = pc_; | 451 last_pc_ = pc_; |
452 emit_optional_rex_32(dst, src); | 452 emit_optional_rex_32(dst, src); |
453 emit(opcode); | 453 emit(opcode); |
454 emit_modrm(dst, src); | 454 emit_modrm(dst, src); |
455 } | 455 } |
456 | 456 |
457 | 457 |
458 void Assembler::arithmetic_op_32(byte opcode, | 458 void Assembler::arithmetic_op_32(byte opcode, |
459 const Operand& dst, | 459 Register reg, |
460 Register src) { | 460 const Operand& rm_reg) { |
461 EnsureSpace ensure_space(this); | 461 EnsureSpace ensure_space(this); |
462 last_pc_ = pc_; | 462 last_pc_ = pc_; |
463 emit_optional_rex_32(src, dst); | 463 emit_optional_rex_32(reg, rm_reg); |
464 emit(opcode); | 464 emit(opcode); |
465 emit_operand(src, dst); | 465 emit_operand(reg, rm_reg); |
466 } | 466 } |
467 | 467 |
468 | 468 |
469 void Assembler::immediate_arithmetic_op(byte subcode, | 469 void Assembler::immediate_arithmetic_op(byte subcode, |
470 Register dst, | 470 Register dst, |
471 Immediate src) { | 471 Immediate src) { |
472 EnsureSpace ensure_space(this); | 472 EnsureSpace ensure_space(this); |
473 last_pc_ = pc_; | 473 last_pc_ = pc_; |
474 emit_rex_64(dst); | 474 emit_rex_64(dst); |
475 if (is_int8(src.value_)) { | 475 if (is_int8(src.value_)) { |
(...skipping 1700 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2176 RecordRelocInfo(RelocInfo::POSITION, current_position_); | 2176 RecordRelocInfo(RelocInfo::POSITION, current_position_); |
2177 written_position_ = current_position_; | 2177 written_position_ = current_position_; |
2178 } | 2178 } |
2179 } | 2179 } |
2180 | 2180 |
2181 | 2181 |
2182 const int RelocInfo::kApplyMask = 1 << RelocInfo::INTERNAL_REFERENCE; | 2182 const int RelocInfo::kApplyMask = 1 << RelocInfo::INTERNAL_REFERENCE; |
2183 | 2183 |
2184 | 2184 |
2185 } } // namespace v8::internal | 2185 } } // namespace v8::internal |
OLD | NEW |