diff options
Diffstat (limited to 'deps/v8/src/builtins/builtins-math-gen.cc')
-rw-r--r-- | deps/v8/src/builtins/builtins-math-gen.cc | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/deps/v8/src/builtins/builtins-math-gen.cc b/deps/v8/src/builtins/builtins-math-gen.cc index 952bdda5de..36b0d30939 100644 --- a/deps/v8/src/builtins/builtins-math-gen.cc +++ b/deps/v8/src/builtins/builtins-math-gen.cc @@ -413,7 +413,16 @@ TF_BUILTIN(MathRandom, CodeStubAssembler) { GotoIf(SmiAbove(smi_index.value(), SmiConstant(0)), &if_cached); // Cache exhausted, populate the cache. Return value is the new index. - smi_index = CAST(CallRuntime(Runtime::kGenerateRandomNumbers, context)); + Node* const refill_math_random = + ExternalConstant(ExternalReference::refill_math_random()); + Node* const isolate_ptr = + ExternalConstant(ExternalReference::isolate_address(isolate())); + MachineType type_tagged = MachineType::AnyTagged(); + MachineType type_ptr = MachineType::Pointer(); + + smi_index = + CAST(CallCFunction2(type_tagged, type_ptr, type_tagged, + refill_math_random, isolate_ptr, native_context)); Goto(&if_cached); // Compute next index by decrement. |