OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "v8.h" | 5 #include "v8.h" |
6 | 6 |
7 #if V8_TARGET_ARCH_IA32 | 7 #if V8_TARGET_ARCH_IA32 |
8 | 8 |
9 #include "bootstrapper.h" | 9 #include "bootstrapper.h" |
10 #include "codegen.h" | 10 #include "codegen.h" |
(...skipping 357 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
368 movmskpd(result_reg, xmm0); | 368 movmskpd(result_reg, xmm0); |
369 and_(result_reg, 1); | 369 and_(result_reg, 1); |
370 RecordComment("Deferred TaggedToI: minus zero"); | 370 RecordComment("Deferred TaggedToI: minus zero"); |
371 j(not_zero, lost_precision, Label::kNear); | 371 j(not_zero, lost_precision, Label::kNear); |
372 } | 372 } |
373 bind(&done); | 373 bind(&done); |
374 } | 374 } |
375 | 375 |
376 | 376 |
377 void MacroAssembler::LoadUint32(XMMRegister dst, | 377 void MacroAssembler::LoadUint32(XMMRegister dst, |
378 Register src, | 378 Register src) { |
379 XMMRegister scratch) { | |
380 Label done; | 379 Label done; |
381 cmp(src, Immediate(0)); | 380 cmp(src, Immediate(0)); |
382 ExternalReference uint32_bias = | 381 ExternalReference uint32_bias = |
383 ExternalReference::address_of_uint32_bias(); | 382 ExternalReference::address_of_uint32_bias(); |
384 movsd(scratch, Operand::StaticVariable(uint32_bias)); | |
385 Cvtsi2sd(dst, src); | 383 Cvtsi2sd(dst, src); |
386 j(not_sign, &done, Label::kNear); | 384 j(not_sign, &done, Label::kNear); |
387 addsd(dst, scratch); | 385 addsd(dst, Operand::StaticVariable(uint32_bias)); |
388 bind(&done); | 386 bind(&done); |
389 } | 387 } |
390 | 388 |
391 | 389 |
392 void MacroAssembler::RecordWriteArray(Register object, | 390 void MacroAssembler::RecordWriteArray(Register object, |
393 Register value, | 391 Register value, |
394 Register index, | 392 Register index, |
395 SaveFPRegsMode save_fp, | 393 SaveFPRegsMode save_fp, |
396 RememberedSetAction remembered_set_action, | 394 RememberedSetAction remembered_set_action, |
397 SmiCheck smi_check) { | 395 SmiCheck smi_check) { |
(...skipping 3061 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
3459 if (ms.shift() > 0) sar(edx, ms.shift()); | 3457 if (ms.shift() > 0) sar(edx, ms.shift()); |
3460 mov(eax, dividend); | 3458 mov(eax, dividend); |
3461 shr(eax, 31); | 3459 shr(eax, 31); |
3462 add(edx, eax); | 3460 add(edx, eax); |
3463 } | 3461 } |
3464 | 3462 |
3465 | 3463 |
3466 } } // namespace v8::internal | 3464 } } // namespace v8::internal |
3467 | 3465 |
3468 #endif // V8_TARGET_ARCH_IA32 | 3466 #endif // V8_TARGET_ARCH_IA32 |
OLD | NEW |