Revert "Revert "Upgrade to 5.0.71.48"" DO NOT MERGE
This reverts commit f2e3994fa5148cc3d9946666f0b0596290192b0e,
and updates the x64 makefile properly so it doesn't break that
build.
FPIIM-449
Change-Id: Ib83e35bfbae6af627451c926a9650ec57c045605
(cherry picked from commit 109988c7ccb6f3fd1a58574fa3dfb88beaef6632)
diff --git a/src/code-factory.cc b/src/code-factory.cc
index 6d31a5f..9898282 100644
--- a/src/code-factory.cc
+++ b/src/code-factory.cc
@@ -12,44 +12,36 @@
// static
-Callable CodeFactory::LoadIC(Isolate* isolate, TypeofMode typeof_mode,
- LanguageMode language_mode) {
- return Callable(
- LoadIC::initialize_stub(
- isolate, LoadICState(typeof_mode, language_mode).GetExtraICState()),
- LoadDescriptor(isolate));
+Callable CodeFactory::LoadIC(Isolate* isolate, TypeofMode typeof_mode) {
+ return Callable(LoadIC::initialize_stub(
+ isolate, LoadICState(typeof_mode).GetExtraICState()),
+ LoadDescriptor(isolate));
}
// static
Callable CodeFactory::LoadICInOptimizedCode(
- Isolate* isolate, TypeofMode typeof_mode, LanguageMode language_mode,
+ Isolate* isolate, TypeofMode typeof_mode,
InlineCacheState initialization_state) {
auto code = LoadIC::initialize_stub_in_optimized_code(
- isolate, LoadICState(typeof_mode, language_mode).GetExtraICState(),
+ isolate, LoadICState(typeof_mode).GetExtraICState(),
initialization_state);
return Callable(code, LoadWithVectorDescriptor(isolate));
}
// static
-Callable CodeFactory::KeyedLoadIC(Isolate* isolate,
- LanguageMode language_mode) {
- ExtraICState state = is_strong(language_mode) ? LoadICState::kStrongModeState
- : kNoExtraICState;
- return Callable(KeyedLoadIC::initialize_stub(isolate, state),
+Callable CodeFactory::KeyedLoadIC(Isolate* isolate) {
+ return Callable(KeyedLoadIC::initialize_stub(isolate, kNoExtraICState),
LoadDescriptor(isolate));
}
// static
Callable CodeFactory::KeyedLoadICInOptimizedCode(
- Isolate* isolate, LanguageMode language_mode,
- InlineCacheState initialization_state) {
- ExtraICState state = is_strong(language_mode) ? LoadICState::kStrongModeState
- : kNoExtraICState;
+ Isolate* isolate, InlineCacheState initialization_state) {
auto code = KeyedLoadIC::initialize_stub_in_optimized_code(
- isolate, initialization_state, state);
+ isolate, initialization_state, kNoExtraICState);
if (initialization_state != MEGAMORPHIC) {
return Callable(code, LoadWithVectorDescriptor(isolate));
}
@@ -59,18 +51,20 @@
// static
Callable CodeFactory::CallIC(Isolate* isolate, int argc,
- ConvertReceiverMode mode) {
- return Callable(CallIC::initialize_stub(isolate, argc, mode),
+ ConvertReceiverMode mode,
+ TailCallMode tail_call_mode) {
+ return Callable(CallIC::initialize_stub(isolate, argc, mode, tail_call_mode),
CallFunctionWithFeedbackDescriptor(isolate));
}
// static
Callable CodeFactory::CallICInOptimizedCode(Isolate* isolate, int argc,
- ConvertReceiverMode mode) {
- return Callable(
- CallIC::initialize_stub_in_optimized_code(isolate, argc, mode),
- CallFunctionWithFeedbackAndVectorDescriptor(isolate));
+ ConvertReceiverMode mode,
+ TailCallMode tail_call_mode) {
+ return Callable(CallIC::initialize_stub_in_optimized_code(isolate, argc, mode,
+ tail_call_mode),
+ CallFunctionWithFeedbackAndVectorDescriptor(isolate));
}
@@ -118,9 +112,8 @@
// static
-Callable CodeFactory::CompareIC(Isolate* isolate, Token::Value op,
- Strength strength) {
- Handle<Code> code = CompareIC::GetUninitialized(isolate, op, strength);
+Callable CodeFactory::CompareIC(Isolate* isolate, Token::Value op) {
+ Handle<Code> code = CompareIC::GetUninitialized(isolate, op);
return Callable(code, CompareDescriptor(isolate));
}
@@ -133,9 +126,8 @@
// static
-Callable CodeFactory::BinaryOpIC(Isolate* isolate, Token::Value op,
- Strength strength) {
- BinaryOpICStub stub(isolate, op, strength);
+Callable CodeFactory::BinaryOpIC(Isolate* isolate, Token::Value op) {
+ BinaryOpICStub stub(isolate, op);
return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
}
@@ -169,6 +161,13 @@
// static
+Callable CodeFactory::ToName(Isolate* isolate) {
+ ToNameStub stub(isolate);
+ return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
+}
+
+
+// static
Callable CodeFactory::ToLength(Isolate* isolate) {
ToLengthStub stub(isolate);
return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
@@ -271,19 +270,29 @@
// static
-Callable CodeFactory::ArgumentsAccess(Isolate* isolate,
- bool is_unmapped_arguments,
- bool has_duplicate_parameters) {
- ArgumentsAccessStub::Type type = ArgumentsAccessStub::ComputeType(
- is_unmapped_arguments, has_duplicate_parameters);
- ArgumentsAccessStub stub(isolate, type);
+Callable CodeFactory::FastNewObject(Isolate* isolate) {
+ FastNewObjectStub stub(isolate);
return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
}
// static
-Callable CodeFactory::RestArgumentsAccess(Isolate* isolate) {
- RestParamAccessStub stub(isolate);
+Callable CodeFactory::FastNewRestParameter(Isolate* isolate) {
+ FastNewRestParameterStub stub(isolate);
+ return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
+}
+
+
+// static
+Callable CodeFactory::FastNewSloppyArguments(Isolate* isolate) {
+ FastNewSloppyArgumentsStub stub(isolate);
+ return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
+}
+
+
+// static
+Callable CodeFactory::FastNewStrictArguments(Isolate* isolate) {
+ FastNewStrictArgumentsStub stub(isolate);
return Callable(stub.GetCode(), stub.GetCallInterfaceDescriptor());
}
@@ -345,9 +354,11 @@
// static
-Callable CodeFactory::InterpreterPushArgsAndCall(Isolate* isolate) {
- return Callable(isolate->builtins()->InterpreterPushArgsAndCall(),
- InterpreterPushArgsAndCallDescriptor(isolate));
+Callable CodeFactory::InterpreterPushArgsAndCall(Isolate* isolate,
+ TailCallMode tail_call_mode) {
+ return Callable(
+ isolate->builtins()->InterpreterPushArgsAndCall(tail_call_mode),
+ InterpreterPushArgsAndCallDescriptor(isolate));
}