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

Side by Side Diff: src/mips/macro-assembler-mips.cc

Issue 7901016: Basic support for tracking smi-only arrays on ia32. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: ready to land Created 9 years, 3 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
OLDNEW
1 // Copyright 2011 the V8 project authors. All rights reserved. 1 // Copyright 2011 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 3145 matching lines...) Expand 10 before | Expand all | Expand 10 after
3156 Addu(dst, dst, 1); 3156 Addu(dst, dst, 1);
3157 Subu(length, length, Operand(1)); 3157 Subu(length, length, Operand(1));
3158 Branch(&byte_loop_1, ne, length, Operand(zero_reg)); 3158 Branch(&byte_loop_1, ne, length, Operand(zero_reg));
3159 bind(&done); 3159 bind(&done);
3160 } 3160 }
3161 3161
3162 3162
3163 void MacroAssembler::CheckFastElements(Register map, 3163 void MacroAssembler::CheckFastElements(Register map,
3164 Register scratch, 3164 Register scratch,
3165 Label* fail) { 3165 Label* fail) {
3166 STATIC_ASSERT(FAST_ELEMENTS == 0); 3166 STATIC_ASSERT(FAST_SMI_ONLY_ELEMENTS == 0);
3167 STATIC_ASSERT(FAST_ELEMENTS == 1);
3167 lbu(scratch, FieldMemOperand(map, Map::kBitField2Offset)); 3168 lbu(scratch, FieldMemOperand(map, Map::kBitField2Offset));
3168 Branch(fail, hi, scratch, Operand(Map::kMaximumBitField2FastElementValue)); 3169 Branch(fail, hi, scratch, Operand(Map::kMaximumBitField2FastElementValue));
3169 } 3170 }
3170 3171
3171 3172
3172 void MacroAssembler::CheckMap(Register obj, 3173 void MacroAssembler::CheckMap(Register obj,
3173 Register scratch, 3174 Register scratch,
3174 Handle<Map> map, 3175 Handle<Map> map,
3175 Label* fail, 3176 Label* fail,
3176 SmiCheckType smi_check_type) { 3177 SmiCheckType smi_check_type) {
(...skipping 1578 matching lines...) Expand 10 before | Expand all | Expand 10 after
4755 opcode == BGTZL); 4756 opcode == BGTZL);
4756 opcode = (cond == eq) ? BEQ : BNE; 4757 opcode = (cond == eq) ? BEQ : BNE;
4757 instr = (instr & ~kOpcodeMask) | opcode; 4758 instr = (instr & ~kOpcodeMask) | opcode;
4758 masm_.emit(instr); 4759 masm_.emit(instr);
4759 } 4760 }
4760 4761
4761 4762
4762 } } // namespace v8::internal 4763 } } // namespace v8::internal
4763 4764
4764 #endif // V8_TARGET_ARCH_MIPS 4765 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« src/bootstrapper.cc ('K') | « src/liveobjectlist.cc ('k') | src/mips/stub-cache-mips.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698