| Index: src/mips/code-stubs-mips.cc
|
| diff --git a/src/mips/code-stubs-mips.cc b/src/mips/code-stubs-mips.cc
|
| index b26e0b435e9e4b0808491d189259b05a0347e873..08329b3dccecd2531cf4f9a8f34bd76386de6b7f 100644
|
| --- a/src/mips/code-stubs-mips.cc
|
| +++ b/src/mips/code-stubs-mips.cc
|
| @@ -3360,6 +3360,9 @@ void TranscendentalCacheStub::Generate(MacroAssembler* masm) {
|
| __ Branch(&calculate, ne, a2, Operand(t0));
|
| __ Branch(&calculate, ne, a3, Operand(t1));
|
| // Cache hit. Load result, cleanup and return.
|
| + Counters* counters = masm->isolate()->counters();
|
| + __ IncrementCounter(
|
| + counters->transcendental_cache_hit(), 1, scratch0, scratch1);
|
| if (tagged) {
|
| // Pop input value from stack and load result into v0.
|
| __ Drop(1);
|
| @@ -3372,6 +3375,9 @@ void TranscendentalCacheStub::Generate(MacroAssembler* masm) {
|
| } // if (CpuFeatures::IsSupported(FPU))
|
|
|
| __ bind(&calculate);
|
| + Counters* counters = masm->isolate()->counters();
|
| + __ IncrementCounter(
|
| + counters->transcendental_cache_miss(), 1, scratch0, scratch1);
|
| if (tagged) {
|
| __ bind(&invalid_cache);
|
| __ TailCallExternalReference(ExternalReference(RuntimeFunction(),
|
| @@ -3455,20 +3461,25 @@ void TranscendentalCacheStub::GenerateCallCFunction(MacroAssembler* masm,
|
| __ mov_d(f12, f4);
|
| }
|
| AllowExternalCallThatCantCauseGC scope(masm);
|
| + Isolate* isolate = masm->isolate();
|
| switch (type_) {
|
| case TranscendentalCache::SIN:
|
| __ CallCFunction(
|
| - ExternalReference::math_sin_double_function(masm->isolate()),
|
| + ExternalReference::math_sin_double_function(isolate),
|
| 0, 1);
|
| break;
|
| case TranscendentalCache::COS:
|
| __ CallCFunction(
|
| - ExternalReference::math_cos_double_function(masm->isolate()),
|
| + ExternalReference::math_cos_double_function(isolate),
|
| + 0, 1);
|
| + break;
|
| + case TranscendentalCache::TAN:
|
| + __ CallCFunction(ExternalReference::math_tan_double_function(isolate),
|
| 0, 1);
|
| break;
|
| case TranscendentalCache::LOG:
|
| __ CallCFunction(
|
| - ExternalReference::math_log_double_function(masm->isolate()),
|
| + ExternalReference::math_log_double_function(isolate),
|
| 0, 1);
|
| break;
|
| default:
|
| @@ -3484,6 +3495,7 @@ Runtime::FunctionId TranscendentalCacheStub::RuntimeFunction() {
|
| // Add more cases when necessary.
|
| case TranscendentalCache::SIN: return Runtime::kMath_sin;
|
| case TranscendentalCache::COS: return Runtime::kMath_cos;
|
| + case TranscendentalCache::TAN: return Runtime::kMath_tan;
|
| case TranscendentalCache::LOG: return Runtime::kMath_log;
|
| default:
|
| UNIMPLEMENTED();
|
|
|