Index: src/x87/code-stubs-x87.cc |
diff --git a/src/x87/code-stubs-x87.cc b/src/x87/code-stubs-x87.cc |
index 24b9c66e7f674e289c42d5c8b33caeff5c844d69..aee0f743c01d481ce51d0403591146657ff50c0d 100644 |
--- a/src/x87/code-stubs-x87.cc |
+++ b/src/x87/code-stubs-x87.cc |
@@ -299,41 +299,6 @@ void FunctionPrototypeStub::Generate(MacroAssembler* masm) { |
masm, PropertyAccessCompiler::MissBuiltin(Code::LOAD_IC)); |
} |
- |
-void LoadIndexedStringStub::Generate(MacroAssembler* masm) { |
- // Return address is on the stack. |
- Label miss; |
- |
- Register receiver = LoadDescriptor::ReceiverRegister(); |
- Register index = LoadDescriptor::NameRegister(); |
- Register scratch = edi; |
- DCHECK(!scratch.is(receiver) && !scratch.is(index)); |
- Register result = eax; |
- DCHECK(!result.is(scratch)); |
- DCHECK(!scratch.is(LoadWithVectorDescriptor::VectorRegister()) && |
- result.is(LoadDescriptor::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(0); |
- |
- 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) { |
// Just jump directly to runtime if native RegExp is not selected at compile |
// time or if regexp entry in generated code is turned off runtime switch or |
@@ -1829,52 +1794,6 @@ void StringCharCodeAtGenerator::GenerateSlow( |
__ Abort(kUnexpectedFallthroughFromCharCodeAtSlowCase); |
} |
- |
-// ------------------------------------------------------------------------- |
-// StringCharFromCodeGenerator |
- |
-void StringCharFromCodeGenerator::GenerateFast(MacroAssembler* masm) { |
- // Fast case of Heap::LookupSingleCharacterStringFromCode. |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiShiftSize == 0); |
- DCHECK(base::bits::IsPowerOfTwo32(String::kMaxOneByteCharCodeU + 1)); |
- __ test(code_, Immediate(kSmiTagMask | |
- ((~String::kMaxOneByteCharCodeU) << kSmiTagSize))); |
- __ j(not_zero, &slow_case_); |
- |
- Factory* factory = masm->isolate()->factory(); |
- __ Move(result_, Immediate(factory->single_character_string_cache())); |
- STATIC_ASSERT(kSmiTag == 0); |
- STATIC_ASSERT(kSmiTagSize == 1); |
- STATIC_ASSERT(kSmiShiftSize == 0); |
- // At this point code register contains smi tagged one byte char code. |
- __ mov(result_, FieldOperand(result_, |
- code_, times_half_pointer_size, |
- FixedArray::kHeaderSize)); |
- __ cmp(result_, factory->undefined_value()); |
- __ j(equal, &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); |
- if (!result_.is(eax)) { |
- __ mov(result_, eax); |
- } |
- call_helper.AfterCall(masm); |
- __ jmp(&exit_); |
- |
- __ Abort(kUnexpectedFallthroughFromCharFromCodeSlowCase); |
-} |
- |
void StringHelper::GenerateFlatOneByteStringEquals(MacroAssembler* masm, |
Register left, |
Register right, |