diff options
Diffstat (limited to 'chromium/v8/src/mips/code-stubs-mips.cc')
-rw-r--r-- | chromium/v8/src/mips/code-stubs-mips.cc | 58 |
1 files changed, 35 insertions, 23 deletions
diff --git a/chromium/v8/src/mips/code-stubs-mips.cc b/chromium/v8/src/mips/code-stubs-mips.cc index 8a03a9a31a5..0e1b224eadf 100644 --- a/chromium/v8/src/mips/code-stubs-mips.cc +++ b/chromium/v8/src/mips/code-stubs-mips.cc @@ -247,6 +247,17 @@ void InternalArrayNArgumentsConstructorStub::InitializeInterfaceDescriptor( } +void UnaryOpStub::InitializeInterfaceDescriptor( + Isolate* isolate, + CodeStubInterfaceDescriptor* descriptor) { + static Register registers[] = { a0 }; + descriptor->register_param_count_ = 1; + descriptor->register_params_ = registers; + descriptor->deoptimization_handler_ = + FUNCTION_ADDR(UnaryOpIC_Miss); +} + + void StoreGlobalStub::InitializeInterfaceDescriptor( Isolate* isolate, CodeStubInterfaceDescriptor* descriptor) { @@ -509,7 +520,8 @@ void FastNewBlockContextStub::Generate(MacroAssembler* masm) { Label after_sentinel; __ JumpIfNotSmi(a3, &after_sentinel); if (FLAG_debug_code) { - __ Assert(eq, kExpected0AsASmiSentinel, a3, Operand(zero_reg)); + const char* message = "Expected 0 as a Smi sentinel"; + __ Assert(eq, message, a3, Operand(zero_reg)); } __ lw(a3, GlobalObjectOperand()); __ lw(a3, FieldMemOperand(a3, GlobalObject::kNativeContextOffset)); @@ -667,7 +679,7 @@ void FloatingPointHelper::LoadNumber(MacroAssembler* masm, Label* not_number) { __ AssertRootValue(heap_number_map, Heap::kHeapNumberMapRootIndex, - kHeapNumberMapRegisterClobbered); + "HeapNumberMap register clobbered."); Label is_smi, done; @@ -717,7 +729,7 @@ void FloatingPointHelper::ConvertNumberToInt32(MacroAssembler* masm, Label* not_number) { __ AssertRootValue(heap_number_map, Heap::kHeapNumberMapRootIndex, - kHeapNumberMapRegisterClobbered); + "HeapNumberMap register clobbered."); Label done; Label not_in_int32_range; @@ -794,7 +806,7 @@ void FloatingPointHelper::LoadNumberAsInt32Double(MacroAssembler* masm, __ bind(&obj_is_not_smi); __ AssertRootValue(heap_number_map, Heap::kHeapNumberMapRootIndex, - kHeapNumberMapRegisterClobbered); + "HeapNumberMap register clobbered."); __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, not_int32); // Load the number. @@ -841,7 +853,7 @@ void FloatingPointHelper::LoadNumberAsInt32(MacroAssembler* masm, __ AssertRootValue(heap_number_map, Heap::kHeapNumberMapRootIndex, - kHeapNumberMapRegisterClobbered); + "HeapNumberMap register clobbered."); __ JumpIfNotHeapNumber(object, heap_number_map, scratch1, &maybe_undefined); @@ -4267,12 +4279,12 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { if (FLAG_debug_code) { __ And(t0, regexp_data, Operand(kSmiTagMask)); __ Check(nz, - kUnexpectedTypeForRegExpDataFixedArrayExpected, + "Unexpected type for RegExp data, FixedArray expected", t0, Operand(zero_reg)); __ GetObjectType(regexp_data, a0, a0); __ Check(eq, - kUnexpectedTypeForRegExpDataFixedArrayExpected, + "Unexpected type for RegExp data, FixedArray expected", a0, Operand(FIXED_ARRAY_TYPE)); } @@ -4627,7 +4639,7 @@ void RegExpExecStub::Generate(MacroAssembler* masm) { // Sequential strings have already been ruled out. __ And(at, a0, Operand(kIsIndirectStringMask)); __ Assert(eq, - kExternalStringExpectedButNotFound, + "external string expected, but not found", at, Operand(zero_reg)); } @@ -5008,7 +5020,7 @@ void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) { void StringCharCodeAtGenerator::GenerateSlow( MacroAssembler* masm, const RuntimeCallHelper& call_helper) { - __ Abort(kUnexpectedFallthroughToCharCodeAtSlowCase); + __ Abort("Unexpected fallthrough to CharCodeAt slow case"); // Index is not a smi. __ bind(&index_not_smi_); @@ -5057,7 +5069,7 @@ void StringCharCodeAtGenerator::GenerateSlow( call_helper.AfterCall(masm); __ jmp(&exit_); - __ Abort(kUnexpectedFallthroughFromCharCodeAtSlowCase); + __ Abort("Unexpected fallthrough from CharCodeAt slow case"); } @@ -5094,7 +5106,7 @@ void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) { void StringCharFromCodeGenerator::GenerateSlow( MacroAssembler* masm, const RuntimeCallHelper& call_helper) { - __ Abort(kUnexpectedFallthroughToCharFromCodeSlowCase); + __ Abort("Unexpected fallthrough to CharFromCode slow case"); __ bind(&slow_case_); call_helper.BeforeCall(masm); @@ -5105,7 +5117,7 @@ void StringCharFromCodeGenerator::GenerateSlow( call_helper.AfterCall(masm); __ Branch(&exit_); - __ Abort(kUnexpectedFallthroughFromCharFromCodeSlowCase); + __ Abort("Unexpected fallthrough from CharFromCode slow case"); } @@ -5160,7 +5172,7 @@ void StringHelper::GenerateCopyCharactersLong(MacroAssembler* masm, // that it is. __ And(scratch4, dest, Operand(kPointerAlignmentMask)); __ Check(eq, - kDestinationOfCopyNotAligned, + "Destination of copy not aligned.", scratch4, Operand(zero_reg)); } @@ -5360,7 +5372,7 @@ void StringHelper::GenerateTwoCharacterStringTableProbe(MacroAssembler* masm, // Must be the hole (deleted entry). if (FLAG_debug_code) { __ LoadRoot(scratch, Heap::kTheHoleValueRootIndex); - __ Assert(eq, kOddballInStringTableIsNotUndefinedOrTheHole, + __ Assert(eq, "oddball in string table is not undefined or the hole", scratch, Operand(candidate)); } __ jmp(&next_probe[i]); @@ -6568,7 +6580,7 @@ void DirectCEntryStub::Generate(MacroAssembler* masm) { // filled with kZapValue by the GC. // Dereference the address and check for this. __ lw(t0, MemOperand(t9)); - __ Assert(ne, kReceivedInvalidReturnAddress, t0, + __ Assert(ne, "Received invalid return address.", t0, Operand(reinterpret_cast<uint32_t>(kZapValue))); } __ Jump(t9); @@ -7319,7 +7331,7 @@ static void CreateArrayDispatch(MacroAssembler* masm) { } // If we reached this point there is a problem. - __ Abort(kUnexpectedElementsKindInArrayConstructor); + __ Abort("Unexpected ElementsKind in array constructor"); } @@ -7374,7 +7386,7 @@ static void CreateArrayDispatchOneArgument(MacroAssembler* masm) { } // If we reached this point there is a problem. - __ Abort(kUnexpectedElementsKindInArrayConstructor); + __ Abort("Unexpected ElementsKind in array constructor"); } @@ -7435,10 +7447,10 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) { __ lw(a3, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); // Will both indicate a NULL and a Smi. __ And(at, a3, Operand(kSmiTagMask)); - __ Assert(ne, kUnexpectedInitialMapForArrayFunction, + __ Assert(ne, "Unexpected initial map for Array function", at, Operand(zero_reg)); __ GetObjectType(a3, a3, t0); - __ Assert(eq, kUnexpectedInitialMapForArrayFunction, + __ Assert(eq, "Unexpected initial map for Array function", t0, Operand(MAP_TYPE)); // We should either have undefined in a2 or a valid cell. @@ -7447,7 +7459,7 @@ void ArrayConstructorStub::Generate(MacroAssembler* masm) { __ LoadRoot(at, Heap::kUndefinedValueRootIndex); __ Branch(&okay_here, eq, a2, Operand(at)); __ lw(a3, FieldMemOperand(a2, 0)); - __ Assert(eq, kExpectedPropertyCellInRegisterA2, + __ Assert(eq, "Expected property cell in register a2", a3, Operand(cell_map)); __ bind(&okay_here); } @@ -7547,10 +7559,10 @@ void InternalArrayConstructorStub::Generate(MacroAssembler* masm) { __ lw(a3, FieldMemOperand(a1, JSFunction::kPrototypeOrInitialMapOffset)); // Will both indicate a NULL and a Smi. __ And(at, a3, Operand(kSmiTagMask)); - __ Assert(ne, kUnexpectedInitialMapForArrayFunction, + __ Assert(ne, "Unexpected initial map for Array function", at, Operand(zero_reg)); __ GetObjectType(a3, a3, t0); - __ Assert(eq, kUnexpectedInitialMapForArrayFunction, + __ Assert(eq, "Unexpected initial map for Array function", t0, Operand(MAP_TYPE)); } @@ -7567,7 +7579,7 @@ void InternalArrayConstructorStub::Generate(MacroAssembler* masm) { Label done; __ Branch(&done, eq, a3, Operand(FAST_ELEMENTS)); __ Assert( - eq, kInvalidElementsKindForInternalArrayOrInternalPackedArray, + eq, "Invalid ElementsKind for InternalArray or InternalPackedArray", a3, Operand(FAST_HOLEY_ELEMENTS)); __ bind(&done); } |