| Index: src/builtins.cc
|
| diff --git a/src/builtins.cc b/src/builtins.cc
|
| index 68e8e45bcdbc1d7758f46ec359ba388a43c1f388..717e01649338a880a3c337f12cfbb66050be5c51 100644
|
| --- a/src/builtins.cc
|
| +++ b/src/builtins.cc
|
| @@ -1173,6 +1173,15 @@ MUST_USE_RESULT static MaybeObject* HandleApiCallHelper(
|
| fun_data = *desc;
|
| }
|
|
|
| + SharedFunctionInfo* shared = function->shared();
|
| + if (shared->is_classic_mode() && !shared->native()) {
|
| + Object* recv = args[0];
|
| + ASSERT(!recv->IsNull());
|
| + if (recv->IsUndefined()) {
|
| + args[0] = function->context()->global_object()->global_receiver();
|
| + }
|
| + }
|
| +
|
| Object* raw_holder = TypeCheck(heap, args.length(), &args[0], fun_data);
|
|
|
| if (raw_holder->IsNull()) {
|
| @@ -1300,26 +1309,11 @@ BUILTIN(HandleApiCallAsConstructor) {
|
| }
|
|
|
|
|
| -static void Generate_LoadIC_Initialize(MacroAssembler* masm) {
|
| - LoadIC::GenerateInitialize(masm);
|
| -}
|
| -
|
| -
|
| -static void Generate_LoadIC_PreMonomorphic(MacroAssembler* masm) {
|
| - LoadIC::GeneratePreMonomorphic(masm);
|
| -}
|
| -
|
| -
|
| static void Generate_LoadIC_Miss(MacroAssembler* masm) {
|
| LoadIC::GenerateMiss(masm);
|
| }
|
|
|
|
|
| -static void Generate_LoadIC_Megamorphic(MacroAssembler* masm) {
|
| - LoadIC::GenerateMegamorphic(masm);
|
| -}
|
| -
|
| -
|
| static void Generate_LoadIC_Normal(MacroAssembler* masm) {
|
| LoadIC::GenerateNormal(masm);
|
| }
|
| @@ -1381,26 +1375,6 @@ static void Generate_StoreIC_Slow(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -static void Generate_StoreIC_Initialize(MacroAssembler* masm) {
|
| - StoreIC::GenerateInitialize(masm);
|
| -}
|
| -
|
| -
|
| -static void Generate_StoreIC_Initialize_Strict(MacroAssembler* masm) {
|
| - StoreIC::GenerateInitialize(masm);
|
| -}
|
| -
|
| -
|
| -static void Generate_StoreIC_PreMonomorphic(MacroAssembler* masm) {
|
| - StoreIC::GeneratePreMonomorphic(masm);
|
| -}
|
| -
|
| -
|
| -static void Generate_StoreIC_PreMonomorphic_Strict(MacroAssembler* masm) {
|
| - StoreIC::GeneratePreMonomorphic(masm);
|
| -}
|
| -
|
| -
|
| static void Generate_StoreIC_Miss(MacroAssembler* masm) {
|
| StoreIC::GenerateMiss(masm);
|
| }
|
| @@ -1411,33 +1385,11 @@ static void Generate_StoreIC_Normal(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -static void Generate_StoreIC_Megamorphic(MacroAssembler* masm) {
|
| - StoreIC::GenerateMegamorphic(masm,
|
| - StoreIC::ComputeExtraICState(kNonStrictMode));
|
| -}
|
| -
|
| -
|
| -static void Generate_StoreIC_Megamorphic_Strict(MacroAssembler* masm) {
|
| - StoreIC::GenerateMegamorphic(masm,
|
| - StoreIC::ComputeExtraICState(kStrictMode));
|
| -}
|
| -
|
| -
|
| static void Generate_StoreIC_Setter_ForDeopt(MacroAssembler* masm) {
|
| StoreStubCompiler::GenerateStoreViaSetter(masm, Handle<JSFunction>());
|
| }
|
|
|
|
|
| -static void Generate_StoreIC_Generic(MacroAssembler* masm) {
|
| - StoreIC::GenerateRuntimeSetProperty(masm, kNonStrictMode);
|
| -}
|
| -
|
| -
|
| -static void Generate_StoreIC_Generic_Strict(MacroAssembler* masm) {
|
| - StoreIC::GenerateRuntimeSetProperty(masm, kStrictMode);
|
| -}
|
| -
|
| -
|
| static void Generate_KeyedStoreIC_Generic(MacroAssembler* masm) {
|
| KeyedStoreIC::GenerateGeneric(masm, kNonStrictMode);
|
| }
|
|
|