| 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 |