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 2130 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2141 ASSERT(CpuFeatures::IsEnabled(SSE2)); | 2141 ASSERT(CpuFeatures::IsEnabled(SSE2)); |
2142 EnsureSpace ensure_space(this); | 2142 EnsureSpace ensure_space(this); |
2143 last_pc_ = pc_; | 2143 last_pc_ = pc_; |
2144 EMIT(0x66); | 2144 EMIT(0x66); |
2145 EMIT(0x0F); | 2145 EMIT(0x0F); |
2146 EMIT(0x2E); | 2146 EMIT(0x2E); |
2147 emit_sse_operand(dst, src); | 2147 emit_sse_operand(dst, src); |
2148 } | 2148 } |
2149 | 2149 |
2150 | 2150 |
| 2151 void Assembler::movmskpd(Register dst, XMMRegister src) { |
| 2152 ASSERT(CpuFeatures::IsEnabled(SSE2)); |
| 2153 EnsureSpace ensure_space(this); |
| 2154 last_pc_ = pc_; |
| 2155 EMIT(0x66); |
| 2156 EMIT(0x0F); |
| 2157 EMIT(0x50); |
| 2158 emit_sse_operand(dst, src); |
| 2159 } |
| 2160 |
| 2161 |
2151 void Assembler::movdqa(const Operand& dst, XMMRegister src ) { | 2162 void Assembler::movdqa(const Operand& dst, XMMRegister src ) { |
2152 ASSERT(CpuFeatures::IsEnabled(SSE2)); | 2163 ASSERT(CpuFeatures::IsEnabled(SSE2)); |
2153 EnsureSpace ensure_space(this); | 2164 EnsureSpace ensure_space(this); |
2154 last_pc_ = pc_; | 2165 last_pc_ = pc_; |
2155 EMIT(0x66); | 2166 EMIT(0x66); |
2156 EMIT(0x0F); | 2167 EMIT(0x0F); |
2157 EMIT(0x7F); | 2168 EMIT(0x7F); |
2158 emit_sse_operand(src, dst); | 2169 emit_sse_operand(src, dst); |
2159 } | 2170 } |
2160 | 2171 |
(...skipping 115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2276 Register ireg = { reg.code() }; | 2287 Register ireg = { reg.code() }; |
2277 emit_operand(ireg, adr); | 2288 emit_operand(ireg, adr); |
2278 } | 2289 } |
2279 | 2290 |
2280 | 2291 |
2281 void Assembler::emit_sse_operand(XMMRegister dst, XMMRegister src) { | 2292 void Assembler::emit_sse_operand(XMMRegister dst, XMMRegister src) { |
2282 EMIT(0xC0 | dst.code() << 3 | src.code()); | 2293 EMIT(0xC0 | dst.code() << 3 | src.code()); |
2283 } | 2294 } |
2284 | 2295 |
2285 | 2296 |
| 2297 void Assembler::emit_sse_operand(Register dst, XMMRegister src) { |
| 2298 EMIT(0xC0 | dst.code() << 3 | src.code()); |
| 2299 } |
| 2300 |
| 2301 |
2286 void Assembler::Print() { | 2302 void Assembler::Print() { |
2287 Disassembler::Decode(stdout, buffer_, pc_); | 2303 Disassembler::Decode(stdout, buffer_, pc_); |
2288 } | 2304 } |
2289 | 2305 |
2290 | 2306 |
2291 void Assembler::RecordJSReturn() { | 2307 void Assembler::RecordJSReturn() { |
2292 WriteRecordedPositions(); | 2308 WriteRecordedPositions(); |
2293 EnsureSpace ensure_space(this); | 2309 EnsureSpace ensure_space(this); |
2294 RecordRelocInfo(RelocInfo::JS_RETURN); | 2310 RecordRelocInfo(RelocInfo::JS_RETURN); |
2295 } | 2311 } |
(...skipping 209 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2505 push_insn[1] = 13; // Skip over coverage insns. | 2521 push_insn[1] = 13; // Skip over coverage insns. |
2506 if (coverage_log != NULL) { | 2522 if (coverage_log != NULL) { |
2507 fprintf(coverage_log, "%s\n", file_line); | 2523 fprintf(coverage_log, "%s\n", file_line); |
2508 fflush(coverage_log); | 2524 fflush(coverage_log); |
2509 } | 2525 } |
2510 } | 2526 } |
2511 | 2527 |
2512 #endif | 2528 #endif |
2513 | 2529 |
2514 } } // namespace v8::internal | 2530 } } // namespace v8::internal |
OLD | NEW |