Index: src/arm64/code-stubs-arm64.cc |
diff --git a/src/arm64/code-stubs-arm64.cc b/src/arm64/code-stubs-arm64.cc |
index 44dd206e5c13aa878b254a7757dd5214cd545750..ed466db1e513438fe19e7b2f68cae6682abcdce0 100644 |
--- a/src/arm64/code-stubs-arm64.cc |
+++ b/src/arm64/code-stubs-arm64.cc |
@@ -1285,39 +1285,6 @@ void FunctionPrototypeStub::Generate(MacroAssembler* masm) { |
masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC)); |
} |
- |
-void LoadIndexedStringStub::Generate(MacroAssembler* masm) { |
- // Return address is in lr. |
- Label miss; |
- |
- Register receiver = LoadDescriptor::ReceiverRegister(); |
- Register index = LoadDescriptor::NameRegister(); |
- Register result = x0; |
- Register scratch = x10; |
- DCHECK(!scratch.is(receiver) && !scratch.is(index)); |
- DCHECK(!scratch.is(LoadWithVectorDescriptor::VectorRegister()) && |
- result.is(LoadWithVectorDescriptor::SlotRegister())); |
- |
- // StringCharAtGenerator doesn't use the result register until it's passed |
- // the different miss possibilities. If it did, we would have a conflict |
- // when FLAG_vector_ics is true. |
- StringCharAtGenerator char_at_generator(receiver, index, scratch, result, |
- &miss, // When not a string. |
- &miss, // When not a number. |
- &miss, // When index out of range. |
- RECEIVER_IS_STRING); |
- char_at_generator.GenerateFast(masm); |
- __ Ret(); |
- |
- StubRuntimeCallHelper call_helper; |
- char_at_generator.GenerateSlow(masm, PART_OF_IC_HANDLER, call_helper); |
- |
- __ Bind(&miss); |
- PropertyAccessCompiler::TailCallBuiltin( |
- masm, PropertyAccessCompiler::MissBuiltin(Code::KEYED_LOAD_IC)); |
-} |
- |
- |
void RegExpExecStub::Generate(MacroAssembler* masm) { |
#ifdef V8_INTERPRETED_REGEXP |
__ TailCallRuntime(Runtime::kRegExpExec); |
@@ -2056,38 +2023,6 @@ void StringCharCodeAtGenerator::GenerateSlow( |
__ Abort(kUnexpectedFallthroughFromCharCodeAtSlowCase); |
} |
- |
-void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) { |
- __ JumpIfNotSmi(code_, &slow_case_); |
- __ Cmp(code_, Smi::FromInt(String::kMaxOneByteCharCode)); |
- __ B(hi, &slow_case_); |
- |
- __ LoadRoot(result_, Heap::kSingleCharacterStringCacheRootIndex); |
- // At this point code register contains smi tagged one-byte char code. |
- __ Add(result_, result_, Operand::UntagSmiAndScale(code_, kPointerSizeLog2)); |
- __ Ldr(result_, FieldMemOperand(result_, FixedArray::kHeaderSize)); |
- __ JumpIfRoot(result_, Heap::kUndefinedValueRootIndex, &slow_case_); |
- __ Bind(&exit_); |
-} |
- |
- |
-void StringCharFromCodeGenerator::GenerateSlow( |
- MacroAssembler* masm, |
- const RuntimeCallHelper& call_helper) { |
- __ Abort(kUnexpectedFallthroughToCharFromCodeSlowCase); |
- |
- __ Bind(&slow_case_); |
- call_helper.BeforeCall(masm); |
- __ Push(code_); |
- __ CallRuntime(Runtime::kStringCharFromCode); |
- __ Mov(result_, x0); |
- call_helper.AfterCall(masm); |
- __ B(&exit_); |
- |
- __ Abort(kUnexpectedFallthroughFromCharFromCodeSlowCase); |
-} |
- |
- |
void CompareICStub::GenerateBooleans(MacroAssembler* masm) { |
// Inputs are in x0 (lhs) and x1 (rhs). |
DCHECK_EQ(CompareICState::BOOLEAN, state()); |