| 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 1050 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1061 } | 1061 } |
| 1062 } | 1062 } |
| 1063 | 1063 |
| 1064 | 1064 |
| 1065 void Assembler::sar_cl(const Operand& dst) { | 1065 void Assembler::sar_cl(const Operand& dst) { |
| 1066 EnsureSpace ensure_space(this); | 1066 EnsureSpace ensure_space(this); |
| 1067 EMIT(0xD3); | 1067 EMIT(0xD3); |
| 1068 emit_operand(edi, dst); | 1068 emit_operand(edi, dst); |
| 1069 } | 1069 } |
| 1070 | 1070 |
| 1071 | |
| 1072 void Assembler::sbb(Register dst, const Operand& src) { | 1071 void Assembler::sbb(Register dst, const Operand& src) { |
| 1073 EnsureSpace ensure_space(this); | 1072 EnsureSpace ensure_space(this); |
| 1074 EMIT(0x1B); | 1073 EMIT(0x1B); |
| 1075 emit_operand(dst, src); | 1074 emit_operand(dst, src); |
| 1076 } | 1075 } |
| 1077 | 1076 |
| 1078 void Assembler::shld(Register dst, Register src, uint8_t shift) { | 1077 void Assembler::shld(Register dst, Register src, uint8_t shift) { |
| 1079 DCHECK(is_uint5(shift)); | 1078 DCHECK(is_uint5(shift)); |
| 1080 EnsureSpace ensure_space(this); | 1079 EnsureSpace ensure_space(this); |
| 1081 EMIT(0x0F); | 1080 EMIT(0x0F); |
| (...skipping 23 matching lines...) Expand all Loading... |
| 1105 } | 1104 } |
| 1106 } | 1105 } |
| 1107 | 1106 |
| 1108 | 1107 |
| 1109 void Assembler::shl_cl(const Operand& dst) { | 1108 void Assembler::shl_cl(const Operand& dst) { |
| 1110 EnsureSpace ensure_space(this); | 1109 EnsureSpace ensure_space(this); |
| 1111 EMIT(0xD3); | 1110 EMIT(0xD3); |
| 1112 emit_operand(esp, dst); | 1111 emit_operand(esp, dst); |
| 1113 } | 1112 } |
| 1114 | 1113 |
| 1115 | |
| 1116 void Assembler::shrd(Register dst, const Operand& src) { | |
| 1117 EnsureSpace ensure_space(this); | |
| 1118 EMIT(0x0F); | |
| 1119 EMIT(0xAD); | |
| 1120 emit_operand(dst, src); | |
| 1121 } | |
| 1122 | |
| 1123 | |
| 1124 void Assembler::shr(const Operand& dst, uint8_t imm8) { | 1114 void Assembler::shr(const Operand& dst, uint8_t imm8) { |
| 1125 EnsureSpace ensure_space(this); | 1115 EnsureSpace ensure_space(this); |
| 1126 DCHECK(is_uint5(imm8)); // illegal shift count | 1116 DCHECK(is_uint5(imm8)); // illegal shift count |
| 1127 if (imm8 == 1) { | 1117 if (imm8 == 1) { |
| 1128 EMIT(0xD1); | 1118 EMIT(0xD1); |
| 1129 emit_operand(ebp, dst); | 1119 emit_operand(ebp, dst); |
| 1130 } else { | 1120 } else { |
| 1131 EMIT(0xC1); | 1121 EMIT(0xC1); |
| 1132 emit_operand(ebp, dst); | 1122 emit_operand(ebp, dst); |
| 1133 EMIT(imm8); | 1123 EMIT(imm8); |
| 1134 } | 1124 } |
| 1135 } | 1125 } |
| 1136 | 1126 |
| 1137 | 1127 |
| 1138 void Assembler::shr_cl(const Operand& dst) { | 1128 void Assembler::shr_cl(const Operand& dst) { |
| 1139 EnsureSpace ensure_space(this); | 1129 EnsureSpace ensure_space(this); |
| 1140 EMIT(0xD3); | 1130 EMIT(0xD3); |
| 1141 emit_operand(ebp, dst); | 1131 emit_operand(ebp, dst); |
| 1142 } | 1132 } |
| 1143 | 1133 |
| 1134 void Assembler::shrd(Register dst, Register src, uint8_t shift) { |
| 1135 DCHECK(is_uint5(shift)); |
| 1136 EnsureSpace ensure_space(this); |
| 1137 EMIT(0x0F); |
| 1138 EMIT(0xAC); |
| 1139 emit_operand(dst, Operand(src)); |
| 1140 EMIT(shift); |
| 1141 } |
| 1142 |
| 1143 void Assembler::shrd_cl(const Operand& dst, Register src) { |
| 1144 EnsureSpace ensure_space(this); |
| 1145 EMIT(0x0F); |
| 1146 EMIT(0xAD); |
| 1147 emit_operand(src, dst); |
| 1148 } |
| 1144 | 1149 |
| 1145 void Assembler::sub(const Operand& dst, const Immediate& x) { | 1150 void Assembler::sub(const Operand& dst, const Immediate& x) { |
| 1146 EnsureSpace ensure_space(this); | 1151 EnsureSpace ensure_space(this); |
| 1147 emit_arith(5, dst, x); | 1152 emit_arith(5, dst, x); |
| 1148 } | 1153 } |
| 1149 | 1154 |
| 1150 | 1155 |
| 1151 void Assembler::sub(Register dst, const Operand& src) { | 1156 void Assembler::sub(Register dst, const Operand& src) { |
| 1152 EnsureSpace ensure_space(this); | 1157 EnsureSpace ensure_space(this); |
| 1153 EMIT(0x2B); | 1158 EMIT(0x2B); |
| (...skipping 1808 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2962 fflush(coverage_log); | 2967 fflush(coverage_log); |
| 2963 } | 2968 } |
| 2964 } | 2969 } |
| 2965 | 2970 |
| 2966 #endif | 2971 #endif |
| 2967 | 2972 |
| 2968 } // namespace internal | 2973 } // namespace internal |
| 2969 } // namespace v8 | 2974 } // namespace v8 |
| 2970 | 2975 |
| 2971 #endif // V8_TARGET_ARCH_IA32 | 2976 #endif // V8_TARGET_ARCH_IA32 |
| OLD | NEW |