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

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

Issue 659053002: Fix clang compilation error. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 2 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 | Annotate | Revision Log
« no previous file with comments | « src/arm64/code-stubs-arm64.cc ('k') | src/x64/code-stubs-x64.cc » ('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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_MIPS 7 #if V8_TARGET_ARCH_MIPS
8 8
9 #include "src/base/bits.h" 9 #include "src/base/bits.h"
10 #include "src/bootstrapper.h" 10 #include "src/bootstrapper.h"
(...skipping 2919 matching lines...) Expand 10 before | Expand all | Expand 10 after
2930 __ mov(a1, v0); 2930 __ mov(a1, v0);
2931 } 2931 }
2932 } 2932 }
2933 2933
2934 2934
2935 // StringCharCodeAtGenerator. 2935 // StringCharCodeAtGenerator.
2936 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) { 2936 void StringCharCodeAtGenerator::GenerateFast(MacroAssembler* masm) {
2937 DCHECK(!t0.is(index_)); 2937 DCHECK(!t0.is(index_));
2938 DCHECK(!t0.is(result_)); 2938 DCHECK(!t0.is(result_));
2939 DCHECK(!t0.is(object_)); 2939 DCHECK(!t0.is(object_));
2940 if (check_mode_ == RECEIVER_IS_UNKNOWN) {
2941 // If the receiver is a smi trigger the non-string case.
2942 __ JumpIfSmi(object_, receiver_not_string_);
2940 2943
2941 // If the receiver is a smi trigger the non-string case. 2944 // Fetch the instance type of the receiver into result register.
2942 __ JumpIfSmi(object_, receiver_not_string_); 2945 __ lw(result_, FieldMemOperand(object_, HeapObject::kMapOffset));
2943 2946 __ lbu(result_, FieldMemOperand(result_, Map::kInstanceTypeOffset));
2944 // Fetch the instance type of the receiver into result register. 2947 // If the receiver is not a string trigger the non-string case.
2945 __ lw(result_, FieldMemOperand(object_, HeapObject::kMapOffset)); 2948 __ And(t0, result_, Operand(kIsNotStringMask));
2946 __ lbu(result_, FieldMemOperand(result_, Map::kInstanceTypeOffset)); 2949 __ Branch(receiver_not_string_, ne, t0, Operand(zero_reg));
2947 // If the receiver is not a string trigger the non-string case. 2950 }
2948 __ And(t0, result_, Operand(kIsNotStringMask));
2949 __ Branch(receiver_not_string_, ne, t0, Operand(zero_reg));
2950 2951
2951 // If the index is non-smi trigger the non-smi case. 2952 // If the index is non-smi trigger the non-smi case.
2952 __ JumpIfNotSmi(index_, &index_not_smi_); 2953 __ JumpIfNotSmi(index_, &index_not_smi_);
2953 2954
2954 __ bind(&got_smi_index_); 2955 __ bind(&got_smi_index_);
2955 2956
2956 // Check for index out of range. 2957 // Check for index out of range.
2957 __ lw(t0, FieldMemOperand(object_, String::kLengthOffset)); 2958 __ lw(t0, FieldMemOperand(object_, String::kLengthOffset));
2958 __ Branch(index_out_of_range_, ls, t0, Operand(index_)); 2959 __ Branch(index_out_of_range_, ls, t0, Operand(index_));
2959 2960
(...skipping 1966 matching lines...) Expand 10 before | Expand all | Expand 10 after
4926 MemOperand(fp, 6 * kPointerSize), 4927 MemOperand(fp, 6 * kPointerSize),
4927 NULL); 4928 NULL);
4928 } 4929 }
4929 4930
4930 4931
4931 #undef __ 4932 #undef __
4932 4933
4933 } } // namespace v8::internal 4934 } } // namespace v8::internal
4934 4935
4935 #endif // V8_TARGET_ARCH_MIPS 4936 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/arm64/code-stubs-arm64.cc ('k') | src/x64/code-stubs-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698