Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(915)

Side by Side Diff: src/x64/code-stubs-x64.cc

Issue 2600763002: [stubs] Remove dead string copying code (Closed)
Patch Set: [stubs] Remove dead string copying code Created 3 years, 12 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « src/x64/code-stubs-x64.h ('k') | src/x87/code-stubs-x87.h » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #if V8_TARGET_ARCH_X64 5 #if V8_TARGET_ARCH_X64
6 6
7 #include "src/code-stubs.h" 7 #include "src/code-stubs.h"
8 #include "src/api-arguments.h" 8 #include "src/api-arguments.h"
9 #include "src/bootstrapper.h" 9 #include "src/bootstrapper.h"
10 #include "src/codegen.h" 10 #include "src/codegen.h"
(...skipping 1947 matching lines...) Expand 10 before | Expand all | Expand 10 after
1958 __ CallRuntime(Runtime::kStringCharFromCode); 1958 __ CallRuntime(Runtime::kStringCharFromCode);
1959 if (!result_.is(rax)) { 1959 if (!result_.is(rax)) {
1960 __ movp(result_, rax); 1960 __ movp(result_, rax);
1961 } 1961 }
1962 call_helper.AfterCall(masm); 1962 call_helper.AfterCall(masm);
1963 __ jmp(&exit_); 1963 __ jmp(&exit_);
1964 1964
1965 __ Abort(kUnexpectedFallthroughFromCharFromCodeSlowCase); 1965 __ Abort(kUnexpectedFallthroughFromCharFromCodeSlowCase);
1966 } 1966 }
1967 1967
1968
1969 void StringHelper::GenerateCopyCharacters(MacroAssembler* masm,
1970 Register dest,
1971 Register src,
1972 Register count,
1973 String::Encoding encoding) {
1974 // Nothing to do for zero characters.
1975 Label done;
1976 __ testl(count, count);
1977 __ j(zero, &done, Label::kNear);
1978
1979 // Make count the number of bytes to copy.
1980 if (encoding == String::TWO_BYTE_ENCODING) {
1981 STATIC_ASSERT(2 == sizeof(uc16));
1982 __ addl(count, count);
1983 }
1984
1985 // Copy remaining characters.
1986 Label loop;
1987 __ bind(&loop);
1988 __ movb(kScratchRegister, Operand(src, 0));
1989 __ movb(Operand(dest, 0), kScratchRegister);
1990 __ incp(src);
1991 __ incp(dest);
1992 __ decl(count);
1993 __ j(not_zero, &loop);
1994
1995 __ bind(&done);
1996 }
1997
1998
1999 void StringHelper::GenerateFlatOneByteStringEquals(MacroAssembler* masm, 1968 void StringHelper::GenerateFlatOneByteStringEquals(MacroAssembler* masm,
2000 Register left, 1969 Register left,
2001 Register right, 1970 Register right,
2002 Register scratch1, 1971 Register scratch1,
2003 Register scratch2) { 1972 Register scratch2) {
2004 Register length = scratch1; 1973 Register length = scratch1;
2005 1974
2006 // Compare lengths. 1975 // Compare lengths.
2007 Label check_zero_length; 1976 Label check_zero_length;
2008 __ movp(length, FieldOperand(left, String::kLengthOffset)); 1977 __ movp(length, FieldOperand(left, String::kLengthOffset));
(...skipping 2325 matching lines...) Expand 10 before | Expand all | Expand 10 after
4334 kStackUnwindSpace, nullptr, return_value_operand, 4303 kStackUnwindSpace, nullptr, return_value_operand,
4335 NULL); 4304 NULL);
4336 } 4305 }
4337 4306
4338 #undef __ 4307 #undef __
4339 4308
4340 } // namespace internal 4309 } // namespace internal
4341 } // namespace v8 4310 } // namespace v8
4342 4311
4343 #endif // V8_TARGET_ARCH_X64 4312 #endif // V8_TARGET_ARCH_X64
OLDNEW
« no previous file with comments | « src/x64/code-stubs-x64.h ('k') | src/x87/code-stubs-x87.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698