summaryrefslogtreecommitdiff
path: root/deps/v8/src/builtins/builtins-math-gen.cc
diff options
context:
space:
mode:
Diffstat (limited to 'deps/v8/src/builtins/builtins-math-gen.cc')
-rw-r--r--deps/v8/src/builtins/builtins-math-gen.cc11
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.