| OLD | NEW |
| 1 // Copyright 2011 the V8 project authors. All rights reserved. | 1 // Copyright 2011 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 <limits.h> | 5 #include <limits.h> |
| 6 #include <stdarg.h> | 6 #include <stdarg.h> |
| 7 #include <stdlib.h> | 7 #include <stdlib.h> |
| 8 #include <cmath> | 8 #include <cmath> |
| 9 | 9 |
| 10 #if V8_TARGET_ARCH_MIPS | 10 #if V8_TARGET_ARCH_MIPS |
| (...skipping 2354 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2365 case ABS_D: | 2365 case ABS_D: |
| 2366 set_fpu_register_double(fd_reg(), fabs(fs)); | 2366 set_fpu_register_double(fd_reg(), fabs(fs)); |
| 2367 break; | 2367 break; |
| 2368 case MOV_D: | 2368 case MOV_D: |
| 2369 set_fpu_register_double(fd_reg(), fs); | 2369 set_fpu_register_double(fd_reg(), fs); |
| 2370 break; | 2370 break; |
| 2371 case NEG_D: | 2371 case NEG_D: |
| 2372 set_fpu_register_double(fd_reg(), -fs); | 2372 set_fpu_register_double(fd_reg(), -fs); |
| 2373 break; | 2373 break; |
| 2374 case SQRT_D: | 2374 case SQRT_D: |
| 2375 set_fpu_register_double(fd_reg(), fast_sqrt(fs)); | 2375 lazily_initialize_fast_sqrt(isolate_); |
| 2376 set_fpu_register_double(fd_reg(), fast_sqrt(fs, isolate_)); |
| 2376 break; | 2377 break; |
| 2377 case RSQRT_D: { | 2378 case RSQRT_D: { |
| 2378 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2379 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); |
| 2379 double result = 1.0 / fast_sqrt(fs); | 2380 lazily_initialize_fast_sqrt(isolate_); |
| 2381 double result = 1.0 / fast_sqrt(fs, isolate_); |
| 2380 set_fpu_register_double(fd_reg(), result); | 2382 set_fpu_register_double(fd_reg(), result); |
| 2381 break; | 2383 break; |
| 2382 } | 2384 } |
| 2383 case RECIP_D: { | 2385 case RECIP_D: { |
| 2384 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2386 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); |
| 2385 double result = 1.0 / fs; | 2387 double result = 1.0 / fs; |
| 2386 set_fpu_register_double(fd_reg(), result); | 2388 set_fpu_register_double(fd_reg(), result); |
| 2387 break; | 2389 break; |
| 2388 } | 2390 } |
| 2389 case C_UN_D: | 2391 case C_UN_D: |
| (...skipping 378 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2768 case ABS_S: | 2770 case ABS_S: |
| 2769 set_fpu_register_float(fd_reg(), fabs(fs)); | 2771 set_fpu_register_float(fd_reg(), fabs(fs)); |
| 2770 break; | 2772 break; |
| 2771 case MOV_S: | 2773 case MOV_S: |
| 2772 set_fpu_register_float(fd_reg(), fs); | 2774 set_fpu_register_float(fd_reg(), fs); |
| 2773 break; | 2775 break; |
| 2774 case NEG_S: | 2776 case NEG_S: |
| 2775 set_fpu_register_float(fd_reg(), -fs); | 2777 set_fpu_register_float(fd_reg(), -fs); |
| 2776 break; | 2778 break; |
| 2777 case SQRT_S: | 2779 case SQRT_S: |
| 2778 set_fpu_register_float(fd_reg(), fast_sqrt(fs)); | 2780 lazily_initialize_fast_sqrt(isolate_); |
| 2781 set_fpu_register_float(fd_reg(), fast_sqrt(fs, isolate_)); |
| 2779 break; | 2782 break; |
| 2780 case RSQRT_S: { | 2783 case RSQRT_S: { |
| 2781 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2784 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); |
| 2782 float result = 1.0 / fast_sqrt(fs); | 2785 lazily_initialize_fast_sqrt(isolate_); |
| 2786 float result = 1.0 / fast_sqrt(fs, isolate_); |
| 2783 set_fpu_register_float(fd_reg(), result); | 2787 set_fpu_register_float(fd_reg(), result); |
| 2784 break; | 2788 break; |
| 2785 } | 2789 } |
| 2786 case RECIP_S: { | 2790 case RECIP_S: { |
| 2787 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); | 2791 DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6)); |
| 2788 float result = 1.0 / fs; | 2792 float result = 1.0 / fs; |
| 2789 set_fpu_register_float(fd_reg(), result); | 2793 set_fpu_register_float(fd_reg(), result); |
| 2790 break; | 2794 break; |
| 2791 } | 2795 } |
| 2792 case C_F_D: | 2796 case C_F_D: |
| (...skipping 1638 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4431 | 4435 |
| 4432 | 4436 |
| 4433 #undef UNSUPPORTED | 4437 #undef UNSUPPORTED |
| 4434 | 4438 |
| 4435 } // namespace internal | 4439 } // namespace internal |
| 4436 } // namespace v8 | 4440 } // namespace v8 |
| 4437 | 4441 |
| 4438 #endif // USE_SIMULATOR | 4442 #endif // USE_SIMULATOR |
| 4439 | 4443 |
| 4440 #endif // V8_TARGET_ARCH_MIPS | 4444 #endif // V8_TARGET_ARCH_MIPS |
| OLD | NEW |