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 are | 5 // modification, are permitted provided that the following conditions are |
6 // met: | 6 // 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 1305 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1316 static void f64_asin_wrapper(double* param) { | 1316 static void f64_asin_wrapper(double* param) { |
1317 WriteDoubleValue(param, std::asin(ReadDoubleValue(param))); | 1317 WriteDoubleValue(param, std::asin(ReadDoubleValue(param))); |
1318 } | 1318 } |
1319 | 1319 |
1320 ExternalReference ExternalReference::f64_asin_wrapper_function( | 1320 ExternalReference ExternalReference::f64_asin_wrapper_function( |
1321 Isolate* isolate) { | 1321 Isolate* isolate) { |
1322 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_asin_wrapper))); | 1322 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_asin_wrapper))); |
1323 } | 1323 } |
1324 | 1324 |
1325 static void f64_atan_wrapper(double* param) { | 1325 static void f64_atan_wrapper(double* param) { |
1326 WriteDoubleValue(param, std::atan(ReadDoubleValue(param))); | 1326 WriteDoubleValue(param, base::ieee754::atan(ReadDoubleValue(param))); |
1327 } | 1327 } |
1328 | 1328 |
1329 ExternalReference ExternalReference::f64_atan_wrapper_function( | 1329 ExternalReference ExternalReference::f64_atan_wrapper_function( |
1330 Isolate* isolate) { | 1330 Isolate* isolate) { |
1331 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_atan_wrapper))); | 1331 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_atan_wrapper))); |
1332 } | 1332 } |
1333 | 1333 |
1334 static void f64_cos_wrapper(double* param) { | 1334 static void f64_cos_wrapper(double* param) { |
1335 WriteDoubleValue(param, std::cos(ReadDoubleValue(param))); | 1335 WriteDoubleValue(param, std::cos(ReadDoubleValue(param))); |
1336 } | 1336 } |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1385 static const double kPiDividedBy4 = 0.78539816339744830962; | 1385 static const double kPiDividedBy4 = 0.78539816339744830962; |
1386 if (std::isinf(x) && std::isinf(y)) { | 1386 if (std::isinf(x) && std::isinf(y)) { |
1387 // Make sure that the result in case of two infinite arguments | 1387 // Make sure that the result in case of two infinite arguments |
1388 // is a multiple of Pi / 4. The sign of the result is determined | 1388 // is a multiple of Pi / 4. The sign of the result is determined |
1389 // by the first argument (x) and the sign of the second argument | 1389 // by the first argument (x) and the sign of the second argument |
1390 // determines the multiplier: one or three. | 1390 // determines the multiplier: one or three. |
1391 int multiplier = (x < 0) ? -1 : 1; | 1391 int multiplier = (x < 0) ? -1 : 1; |
1392 if (y < 0) multiplier *= 3; | 1392 if (y < 0) multiplier *= 3; |
1393 WriteDoubleValue(param0, multiplier * kPiDividedBy4); | 1393 WriteDoubleValue(param0, multiplier * kPiDividedBy4); |
1394 } else { | 1394 } else { |
1395 WriteDoubleValue(param0, std::atan2(x, y)); | 1395 WriteDoubleValue(param0, base::ieee754::atan2(x, y)); |
1396 } | 1396 } |
1397 } | 1397 } |
1398 | 1398 |
1399 ExternalReference ExternalReference::f64_atan2_wrapper_function( | 1399 ExternalReference ExternalReference::f64_atan2_wrapper_function( |
1400 Isolate* isolate) { | 1400 Isolate* isolate) { |
1401 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_atan2_wrapper))); | 1401 return ExternalReference(Redirect(isolate, FUNCTION_ADDR(f64_atan2_wrapper))); |
1402 } | 1402 } |
1403 | 1403 |
1404 static void f64_mod_wrapper(double* param0, double* param1) { | 1404 static void f64_mod_wrapper(double* param0, double* param1) { |
1405 WriteDoubleValue(param0, | 1405 WriteDoubleValue(param0, |
(...skipping 235 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1641 isolate->regexp_stack()->memory_address()); | 1641 isolate->regexp_stack()->memory_address()); |
1642 } | 1642 } |
1643 | 1643 |
1644 ExternalReference ExternalReference::address_of_regexp_stack_memory_size( | 1644 ExternalReference ExternalReference::address_of_regexp_stack_memory_size( |
1645 Isolate* isolate) { | 1645 Isolate* isolate) { |
1646 return ExternalReference(isolate->regexp_stack()->memory_size_address()); | 1646 return ExternalReference(isolate->regexp_stack()->memory_size_address()); |
1647 } | 1647 } |
1648 | 1648 |
1649 #endif // V8_INTERPRETED_REGEXP | 1649 #endif // V8_INTERPRETED_REGEXP |
1650 | 1650 |
| 1651 ExternalReference ExternalReference::ieee754_atan_function(Isolate* isolate) { |
| 1652 return ExternalReference( |
| 1653 Redirect(isolate, FUNCTION_ADDR(base::ieee754::atan), BUILTIN_FP_CALL)); |
| 1654 } |
| 1655 |
| 1656 ExternalReference ExternalReference::ieee754_atan2_function(Isolate* isolate) { |
| 1657 return ExternalReference(Redirect( |
| 1658 isolate, FUNCTION_ADDR(base::ieee754::atan2), BUILTIN_FP_FP_CALL)); |
| 1659 } |
| 1660 |
1651 ExternalReference ExternalReference::ieee754_log_function(Isolate* isolate) { | 1661 ExternalReference ExternalReference::ieee754_log_function(Isolate* isolate) { |
1652 return ExternalReference( | 1662 return ExternalReference( |
1653 Redirect(isolate, FUNCTION_ADDR(base::ieee754::log), BUILTIN_FP_CALL)); | 1663 Redirect(isolate, FUNCTION_ADDR(base::ieee754::log), BUILTIN_FP_CALL)); |
1654 } | 1664 } |
1655 | 1665 |
1656 ExternalReference ExternalReference::ieee754_log1p_function(Isolate* isolate) { | 1666 ExternalReference ExternalReference::ieee754_log1p_function(Isolate* isolate) { |
1657 return ExternalReference( | 1667 return ExternalReference( |
1658 Redirect(isolate, FUNCTION_ADDR(base::ieee754::log1p), BUILTIN_FP_CALL)); | 1668 Redirect(isolate, FUNCTION_ADDR(base::ieee754::log1p), BUILTIN_FP_CALL)); |
1659 } | 1669 } |
1660 | 1670 |
(...skipping 456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2117 | 2127 |
2118 | 2128 |
2119 void Assembler::DataAlign(int m) { | 2129 void Assembler::DataAlign(int m) { |
2120 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); | 2130 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); |
2121 while ((pc_offset() & (m - 1)) != 0) { | 2131 while ((pc_offset() & (m - 1)) != 0) { |
2122 db(0); | 2132 db(0); |
2123 } | 2133 } |
2124 } | 2134 } |
2125 } // namespace internal | 2135 } // namespace internal |
2126 } // namespace v8 | 2136 } // namespace v8 |
OLD | NEW |