Index: src/full-codegen/s390/full-codegen-s390.cc |
diff --git a/src/full-codegen/s390/full-codegen-s390.cc b/src/full-codegen/s390/full-codegen-s390.cc |
index 92f5891330dcb171108df6eaa0b9c19e36dd9fc3..33003948ccf4ecf242e8e5129001a5716b32fba8 100644 |
--- a/src/full-codegen/s390/full-codegen-s390.cc |
+++ b/src/full-codegen/s390/full-codegen-s390.cc |
@@ -4,15 +4,16 @@ |
#if V8_TARGET_ARCH_S390 |
-#include "src/full-codegen/full-codegen.h" |
#include "src/ast/compile-time-value.h" |
#include "src/ast/scopes.h" |
+#include "src/builtins/builtins-constructor.h" |
#include "src/code-factory.h" |
#include "src/code-stubs.h" |
#include "src/codegen.h" |
#include "src/compilation-info.h" |
#include "src/compiler.h" |
#include "src/debug/debug.h" |
+#include "src/full-codegen/full-codegen.h" |
#include "src/ic/ic.h" |
#include "src/s390/code-stubs-s390.h" |
@@ -210,12 +211,14 @@ void FullCodeGenerator::Generate() { |
if (info->scope()->new_target_var() != nullptr) { |
__ push(r5); // Preserve new target. |
} |
- if (slots <= FastNewFunctionContextStub::MaximumSlots()) { |
- FastNewFunctionContextStub stub(isolate(), info->scope()->scope_type()); |
+ if (slots <= |
+ ConstructorBuiltinsAssembler::MaximumFunctionContextSlots()) { |
+ Callable callable = CodeFactory::FastNewFunctionContext( |
+ isolate(), info->scope()->scope_type()); |
__ mov(FastNewFunctionContextDescriptor::SlotsRegister(), |
Operand(slots)); |
- __ CallStub(&stub); |
- // Result of FastNewFunctionContextStub is always in new space. |
+ __ Call(callable.code(), RelocInfo::CODE_TARGET); |
+ // Result of the FastNewFunctionContext builtin is always in new space. |
need_write_barrier = false; |
} else { |
__ push(r3); |
@@ -1149,8 +1152,9 @@ void FullCodeGenerator::VisitObjectLiteral(ObjectLiteral* expr) { |
__ Push(r5, r4, r3, r2); |
__ CallRuntime(Runtime::kCreateObjectLiteral); |
} else { |
- FastCloneShallowObjectStub stub(isolate(), expr->properties_count()); |
- __ CallStub(&stub); |
+ Callable callable = CodeFactory::FastCloneShallowObject( |
+ isolate(), expr->properties_count()); |
+ __ Call(callable.code(), RelocInfo::CODE_TARGET); |
RestoreContext(); |
} |
PrepareForBailoutForId(expr->CreateLiteralId(), BailoutState::TOS_REGISTER); |
@@ -1284,8 +1288,9 @@ void FullCodeGenerator::VisitArrayLiteral(ArrayLiteral* expr) { |
__ Push(r5, r4, r3, r2); |
__ CallRuntime(Runtime::kCreateArrayLiteral); |
} else { |
- FastCloneShallowArrayStub stub(isolate(), allocation_site_mode); |
- __ CallStub(&stub); |
+ Callable callable = |
+ CodeFactory::FastCloneShallowArray(isolate(), allocation_site_mode); |
+ __ Call(callable.code(), RelocInfo::CODE_TARGET); |
RestoreContext(); |
} |
PrepareForBailoutForId(expr->CreateLiteralId(), BailoutState::TOS_REGISTER); |