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

Side by Side Diff: src/mips/lithium-codegen-mips.cc

Issue 14046017: Abcd for performance check. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fixes and speedups in induction variable detection. Created 7 years, 7 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 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 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 4044 matching lines...) Expand 10 before | Expand all | Expand 10 after
4055 if (instr->hydrogen()->skip_check()) return; 4055 if (instr->hydrogen()->skip_check()) return;
4056 4056
4057 if (instr->index()->IsConstantOperand()) { 4057 if (instr->index()->IsConstantOperand()) {
4058 int constant_index = 4058 int constant_index =
4059 ToInteger32(LConstantOperand::cast(instr->index())); 4059 ToInteger32(LConstantOperand::cast(instr->index()));
4060 if (instr->hydrogen()->length()->representation().IsTagged()) { 4060 if (instr->hydrogen()->length()->representation().IsTagged()) {
4061 __ li(at, Operand(Smi::FromInt(constant_index))); 4061 __ li(at, Operand(Smi::FromInt(constant_index)));
4062 } else { 4062 } else {
4063 __ li(at, Operand(constant_index)); 4063 __ li(at, Operand(constant_index));
4064 } 4064 }
4065 DeoptimizeIf(hs, 4065 if (instr->hydrogen()->allow_equality()) {
4066 instr->environment(), 4066 DeoptimizeIf(hi,
4067 at, 4067 instr->environment(),
4068 Operand(ToRegister(instr->length()))); 4068 at,
4069 Operand(ToRegister(instr->length())));
4070 } else {
4071 DeoptimizeIf(hs,
4072 instr->environment(),
4073 at,
4074 Operand(ToRegister(instr->length())));
4075 }
4069 } else { 4076 } else {
4070 DeoptimizeIf(hs, 4077 if (instr->hydrogen()->allow_equality()) {
4071 instr->environment(), 4078 DeoptimizeIf(hi,
4072 ToRegister(instr->index()), 4079 instr->environment(),
4073 Operand(ToRegister(instr->length()))); 4080 ToRegister(instr->index()),
4081 Operand(ToRegister(instr->length())));
4082 } else {
4083 DeoptimizeIf(hs,
4084 instr->environment(),
4085 ToRegister(instr->index()),
4086 Operand(ToRegister(instr->length())));
4087 }
4074 } 4088 }
4075 } 4089 }
4076 4090
4077 4091
4078 void LCodeGen::DoStoreKeyedExternalArray(LStoreKeyed* instr) { 4092 void LCodeGen::DoStoreKeyedExternalArray(LStoreKeyed* instr) {
4079 CpuFeatureScope scope(masm(), FPU); 4093 CpuFeatureScope scope(masm(), FPU);
4080 Register external_pointer = ToRegister(instr->elements()); 4094 Register external_pointer = ToRegister(instr->elements());
4081 Register key = no_reg; 4095 Register key = no_reg;
4082 ElementsKind elements_kind = instr->elements_kind(); 4096 ElementsKind elements_kind = instr->elements_kind();
4083 bool key_is_constant = instr->key()->IsConstantOperand(); 4097 bool key_is_constant = instr->key()->IsConstantOperand();
(...skipping 1822 matching lines...) Expand 10 before | Expand all | Expand 10 after
5906 __ Subu(scratch, result, scratch); 5920 __ Subu(scratch, result, scratch);
5907 __ lw(result, FieldMemOperand(scratch, 5921 __ lw(result, FieldMemOperand(scratch,
5908 FixedArray::kHeaderSize - kPointerSize)); 5922 FixedArray::kHeaderSize - kPointerSize));
5909 __ bind(&done); 5923 __ bind(&done);
5910 } 5924 }
5911 5925
5912 5926
5913 #undef __ 5927 #undef __
5914 5928
5915 } } // namespace v8::internal 5929 } } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698