| Index: src/mips/ic-mips.cc
|
| diff --git a/src/mips/ic-mips.cc b/src/mips/ic-mips.cc
|
| index e5c2ad80c32a87d080b75405bdea04cfba94c28c..fa8a7bb74eec3a3b4e0b462075c27130b285bf50 100644
|
| --- a/src/mips/ic-mips.cc
|
| +++ b/src/mips/ic-mips.cc
|
| @@ -32,6 +32,7 @@
|
| #if defined(V8_TARGET_ARCH_MIPS)
|
|
|
| #include "codegen-inl.h"
|
| +#include "code-stubs.h"
|
| #include "ic-inl.h"
|
| #include "runtime.h"
|
| #include "stub-cache.h"
|
| @@ -52,7 +53,7 @@ void LoadIC::GenerateArrayLength(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void LoadIC::GenerateStringLength(MacroAssembler* masm) {
|
| +void LoadIC::GenerateStringLength(MacroAssembler* masm, bool support_wrappers) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| @@ -65,60 +66,37 @@ void LoadIC::GenerateFunctionPrototype(MacroAssembler* masm) {
|
| // Defined in ic.cc.
|
| Object* CallIC_Miss(Arguments args);
|
|
|
| -void CallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) {
|
| +
|
| +void CallIC::GenerateMiss(MacroAssembler* masm, int argc) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
|
|
| -void CallIC::GenerateNormal(MacroAssembler* masm, int argc) {
|
| +void CallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| -void CallIC::GenerateMiss(MacroAssembler* masm, int argc) {
|
| - UNIMPLEMENTED_MIPS();
|
| - // Registers:
|
| - // a2: name
|
| - // ra: return address
|
| -
|
| - // Get the receiver of the function from the stack.
|
| - __ lw(a3, MemOperand(sp, argc*kPointerSize));
|
|
|
| - __ EnterInternalFrame();
|
| -
|
| - // Push the receiver and the name of the function.
|
| - __ MultiPush(a2.bit() | a3.bit());
|
| +void CallIC::GenerateNormal(MacroAssembler* masm, int argc) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
|
|
| - // Call the entry.
|
| - __ li(a0, Operand(2));
|
| - __ li(a1, Operand(ExternalReference(IC_Utility(kCallIC_Miss))));
|
|
|
| - CEntryStub stub(1);
|
| - __ CallStub(&stub);
|
| +void KeyedCallIC::GenerateMiss(MacroAssembler* masm, int argc) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
|
|
| - // Move result to r1 and leave the internal frame.
|
| - __ mov(a1, v0);
|
| - __ LeaveInternalFrame();
|
|
|
| - // Check if the receiver is a global object of some sort.
|
| - Label invoke, global;
|
| - __ lw(a2, MemOperand(sp, argc * kPointerSize));
|
| - __ andi(t0, a2, kSmiTagMask);
|
| - __ Branch(eq, &invoke, t0, Operand(zero_reg));
|
| - __ GetObjectType(a2, a3, a3);
|
| - __ Branch(eq, &global, a3, Operand(JS_GLOBAL_OBJECT_TYPE));
|
| - __ Branch(ne, &invoke, a3, Operand(JS_BUILTINS_OBJECT_TYPE));
|
| +void KeyedCallIC::GenerateMegamorphic(MacroAssembler* masm, int argc) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
|
|
| - // Patch the receiver on the stack.
|
| - __ bind(&global);
|
| - __ lw(a2, FieldMemOperand(a2, GlobalObject::kGlobalReceiverOffset));
|
| - __ sw(a2, MemOperand(sp, argc * kPointerSize));
|
|
|
| - // Invoke the function.
|
| - ParameterCount actual(argc);
|
| - __ bind(&invoke);
|
| - __ InvokeFunction(a1, actual, JUMP_FUNCTION);
|
| +void KeyedCallIC::GenerateNormal(MacroAssembler* masm, int argc) {
|
| + UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| +
|
| // Defined in ic.cc.
|
| Object* LoadIC_Miss(Arguments args);
|
|
|
| @@ -137,19 +115,35 @@ void LoadIC::GenerateMiss(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void LoadIC::ClearInlinedVersion(Address address) {}
|
| bool LoadIC::PatchInlinedLoad(Address address, Object* map, int offset) {
|
| + UNIMPLEMENTED_MIPS();
|
| + return false;
|
| +}
|
| +
|
| +
|
| +bool LoadIC::PatchInlinedContextualLoad(Address address,
|
| + Object* map,
|
| + Object* cell,
|
| + bool is_dont_delete) {
|
| + UNIMPLEMENTED_MIPS();
|
| return false;
|
| }
|
|
|
| -void KeyedLoadIC::ClearInlinedVersion(Address address) {}
|
| +
|
| +bool StoreIC::PatchInlinedStore(Address address, Object* map, int offset) {
|
| + UNIMPLEMENTED_MIPS();
|
| + return false;
|
| +}
|
| +
|
| +
|
| bool KeyedLoadIC::PatchInlinedLoad(Address address, Object* map) {
|
| + UNIMPLEMENTED_MIPS();
|
| return false;
|
| }
|
|
|
| -void KeyedStoreIC::ClearInlinedVersion(Address address) {}
|
| -void KeyedStoreIC::RestoreInlinedVersion(Address address) {}
|
| +
|
| bool KeyedStoreIC::PatchInlinedStore(Address address, Object* map) {
|
| + UNIMPLEMENTED_MIPS();
|
| return false;
|
| }
|
|
|
| @@ -162,6 +156,11 @@ void KeyedLoadIC::GenerateMiss(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| +void KeyedLoadIC::GenerateRuntimeGetProperty(MacroAssembler* masm) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| void KeyedLoadIC::GenerateGeneric(MacroAssembler* masm) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
| @@ -172,7 +171,14 @@ void KeyedLoadIC::GenerateString(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm) {
|
| +void KeyedStoreIC::GenerateRuntimeSetProperty(MacroAssembler* masm,
|
| + StrictModeFlag strict_mode) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| +void KeyedStoreIC::GenerateGeneric(MacroAssembler* masm,
|
| + StrictModeFlag strict_mode) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| @@ -187,7 +193,8 @@ void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) {
|
| }
|
|
|
|
|
| -void StoreIC::GenerateMegamorphic(MacroAssembler* masm) {
|
| +void StoreIC::GenerateMegamorphic(MacroAssembler* masm,
|
| + StrictModeFlag strict_mode) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| @@ -201,8 +208,37 @@ void StoreIC::GenerateArrayLength(MacroAssembler* masm) {
|
| UNIMPLEMENTED_MIPS();
|
| }
|
|
|
| +
|
| +void StoreIC::GenerateNormal(MacroAssembler* masm) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| +void StoreIC::GenerateGlobalProxy(MacroAssembler* masm,
|
| + StrictModeFlag strict_mode) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| #undef __
|
|
|
| +
|
| +Condition CompareIC::ComputeCondition(Token::Value op) {
|
| + UNIMPLEMENTED_MIPS();
|
| + return kNoCondition;
|
| +}
|
| +
|
| +
|
| +void CompareIC::UpdateCaches(Handle<Object> x, Handle<Object> y) {
|
| + UNIMPLEMENTED_MIPS();
|
| +}
|
| +
|
| +
|
| +void PatchInlinedSmiCode(Address address) {
|
| + // Currently there is no smi inlining in the MIPS full code generator.
|
| +}
|
| +
|
| +
|
| } } // namespace v8::internal
|
|
|
| #endif // V8_TARGET_ARCH_MIPS
|
|
|