| Index: src/mips/simulator-mips.cc
|
| diff --git a/src/mips/simulator-mips.cc b/src/mips/simulator-mips.cc
|
| index 22e4381bea08dcc05c6f60df51081e125398342e..b50a792d9d7123f5f7c1e325343d3514d9f03785 100644
|
| --- a/src/mips/simulator-mips.cc
|
| +++ b/src/mips/simulator-mips.cc
|
| @@ -2372,11 +2372,13 @@ void Simulator::DecodeTypeRegisterDRsType() {
|
| set_fpu_register_double(fd_reg(), -fs);
|
| break;
|
| case SQRT_D:
|
| - set_fpu_register_double(fd_reg(), fast_sqrt(fs));
|
| + lazily_initialize_fast_sqrt(isolate_);
|
| + set_fpu_register_double(fd_reg(), fast_sqrt(fs, isolate_));
|
| break;
|
| case RSQRT_D: {
|
| DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6));
|
| - double result = 1.0 / fast_sqrt(fs);
|
| + lazily_initialize_fast_sqrt(isolate_);
|
| + double result = 1.0 / fast_sqrt(fs, isolate_);
|
| set_fpu_register_double(fd_reg(), result);
|
| break;
|
| }
|
| @@ -2775,11 +2777,13 @@ void Simulator::DecodeTypeRegisterSRsType() {
|
| set_fpu_register_float(fd_reg(), -fs);
|
| break;
|
| case SQRT_S:
|
| - set_fpu_register_float(fd_reg(), fast_sqrt(fs));
|
| + lazily_initialize_fast_sqrt(isolate_);
|
| + set_fpu_register_float(fd_reg(), fast_sqrt(fs, isolate_));
|
| break;
|
| case RSQRT_S: {
|
| DCHECK(IsMipsArchVariant(kMips32r2) || IsMipsArchVariant(kMips32r6));
|
| - float result = 1.0 / fast_sqrt(fs);
|
| + lazily_initialize_fast_sqrt(isolate_);
|
| + float result = 1.0 / fast_sqrt(fs, isolate_);
|
| set_fpu_register_float(fd_reg(), result);
|
| break;
|
| }
|
|
|