| 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 1451 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1462 } | 1462 } |
| 1463 | 1463 |
| 1464 | 1464 |
| 1465 ExternalReference ExternalReference::runtime_function_table_address( | 1465 ExternalReference ExternalReference::runtime_function_table_address( |
| 1466 Isolate* isolate) { | 1466 Isolate* isolate) { |
| 1467 return ExternalReference( | 1467 return ExternalReference( |
| 1468 const_cast<Runtime::Function*>(Runtime::RuntimeFunctionTable(isolate))); | 1468 const_cast<Runtime::Function*>(Runtime::RuntimeFunctionTable(isolate))); |
| 1469 } | 1469 } |
| 1470 | 1470 |
| 1471 | 1471 |
| 1472 double power_helper(double x, double y) { | 1472 double power_helper(Isolate* isolate, double x, double y) { |
| 1473 int y_int = static_cast<int>(y); | 1473 int y_int = static_cast<int>(y); |
| 1474 if (y == y_int) { | 1474 if (y == y_int) { |
| 1475 return power_double_int(x, y_int); // Returns 1 if exponent is 0. | 1475 return power_double_int(x, y_int); // Returns 1 if exponent is 0. |
| 1476 } | 1476 } |
| 1477 if (y == 0.5) { | 1477 if (y == 0.5) { |
| 1478 lazily_initialize_fast_sqrt(isolate); |
| 1478 return (std::isinf(x)) ? V8_INFINITY | 1479 return (std::isinf(x)) ? V8_INFINITY |
| 1479 : fast_sqrt(x + 0.0); // Convert -0 to +0. | 1480 : fast_sqrt(x + 0.0, isolate); // Convert -0 to +0. |
| 1480 } | 1481 } |
| 1481 if (y == -0.5) { | 1482 if (y == -0.5) { |
| 1482 return (std::isinf(x)) ? 0 : 1.0 / fast_sqrt(x + 0.0); // Convert -0 to +0. | 1483 lazily_initialize_fast_sqrt(isolate); |
| 1484 return (std::isinf(x)) ? 0 : 1.0 / fast_sqrt(x + 0.0, |
| 1485 isolate); // Convert -0 to +0. |
| 1483 } | 1486 } |
| 1484 return power_double_double(x, y); | 1487 return power_double_double(x, y); |
| 1485 } | 1488 } |
| 1486 | 1489 |
| 1487 | 1490 |
| 1488 // Helper function to compute x^y, where y is known to be an | 1491 // Helper function to compute x^y, where y is known to be an |
| 1489 // integer. Uses binary decomposition to limit the number of | 1492 // integer. Uses binary decomposition to limit the number of |
| 1490 // multiplications; see the discussion in "Hacker's Delight" by Henry | 1493 // multiplications; see the discussion in "Hacker's Delight" by Henry |
| 1491 // S. Warren, Jr., figure 11-6, page 213. | 1494 // S. Warren, Jr., figure 11-6, page 213. |
| 1492 double power_double_int(double x, int y) { | 1495 double power_double_int(double x, int y) { |
| (...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1902 | 1905 |
| 1903 | 1906 |
| 1904 void Assembler::DataAlign(int m) { | 1907 void Assembler::DataAlign(int m) { |
| 1905 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); | 1908 DCHECK(m >= 2 && base::bits::IsPowerOfTwo32(m)); |
| 1906 while ((pc_offset() & (m - 1)) != 0) { | 1909 while ((pc_offset() & (m - 1)) != 0) { |
| 1907 db(0); | 1910 db(0); |
| 1908 } | 1911 } |
| 1909 } | 1912 } |
| 1910 } // namespace internal | 1913 } // namespace internal |
| 1911 } // namespace v8 | 1914 } // namespace v8 |
| OLD | NEW |