| Index: src/wasm/wasm-external-refs.cc
|
| diff --git a/src/wasm/wasm-external-refs.cc b/src/wasm/wasm-external-refs.cc
|
| index e155f3c8ba64fb0f0c321e8f307bcf384533426b..52a96959b16cdb4c16cfc77aa4ba9a310161c0eb 100644
|
| --- a/src/wasm/wasm-external-refs.cc
|
| +++ b/src/wasm/wasm-external-refs.cc
|
| @@ -10,6 +10,7 @@
|
| #include "include/v8config.h"
|
|
|
| #include "src/base/bits.h"
|
| +#include "src/utils.h"
|
| #include "src/wasm/wasm-external-refs.h"
|
|
|
| namespace v8 {
|
| @@ -194,6 +195,14 @@ uint32_t word64_popcnt_wrapper(uint64_t* input) {
|
| return static_cast<uint32_t>(base::bits::CountPopulation(*input));
|
| }
|
|
|
| +void float64_pow_wrapper(double* param0, double* param1) {
|
| + double x = ReadDoubleValue(param0);
|
| + double y = ReadDoubleValue(param1);
|
| + if (std::isnan(y) || ((x == 1 || x == -1) && std::isinf(y))) {
|
| + WriteDoubleValue(param0, std::numeric_limits<double>::quiet_NaN());
|
| + }
|
| + WriteDoubleValue(param0, Pow(x, y));
|
| +}
|
| } // namespace wasm
|
| } // namespace internal
|
| } // namespace v8
|
|
|