OLD | NEW |
1 // Copyright 2014 the V8 project authors. All rights reserved. | 1 // Copyright 2014 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_MIPS | 5 #if V8_TARGET_ARCH_MIPS |
6 | 6 |
7 #include "src/ic/handler-compiler.h" | 7 #include "src/ic/handler-compiler.h" |
8 | 8 |
9 #include "src/api-arguments.h" | 9 #include "src/api-arguments.h" |
10 #include "src/field-type.h" | 10 #include "src/field-type.h" |
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
166 // Restore the temporarily used register. | 166 // Restore the temporarily used register. |
167 __ lw(properties, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); | 167 __ lw(properties, FieldMemOperand(receiver, JSObject::kPropertiesOffset)); |
168 | 168 |
169 | 169 |
170 NameDictionaryLookupStub::GenerateNegativeLookup( | 170 NameDictionaryLookupStub::GenerateNegativeLookup( |
171 masm, miss_label, &done, receiver, properties, name, scratch1); | 171 masm, miss_label, &done, receiver, properties, name, scratch1); |
172 __ bind(&done); | 172 __ bind(&done); |
173 __ DecrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); | 173 __ DecrementCounter(counters->negative_lookups_miss(), 1, scratch0, scratch1); |
174 } | 174 } |
175 | 175 |
176 void NamedLoadHandlerCompiler::GenerateLoadFunctionPrototype( | |
177 MacroAssembler* masm, Register receiver, Register scratch1, | |
178 Register scratch2, Label* miss_label) { | |
179 __ TryGetFunctionPrototype(receiver, scratch1, scratch2, miss_label); | |
180 __ Ret(USE_DELAY_SLOT); | |
181 __ mov(v0, scratch1); | |
182 } | |
183 | |
184 | |
185 // Generate code to check that a global property cell is empty. Create | 176 // Generate code to check that a global property cell is empty. Create |
186 // the property cell at compilation time if no cell exists for the | 177 // the property cell at compilation time if no cell exists for the |
187 // property. | 178 // property. |
188 void PropertyHandlerCompiler::GenerateCheckPropertyCell( | 179 void PropertyHandlerCompiler::GenerateCheckPropertyCell( |
189 MacroAssembler* masm, Handle<JSGlobalObject> global, Handle<Name> name, | 180 MacroAssembler* masm, Handle<JSGlobalObject> global, Handle<Name> name, |
190 Register scratch, Label* miss) { | 181 Register scratch, Label* miss) { |
191 Handle<PropertyCell> cell = JSGlobalObject::EnsureEmptyPropertyCell( | 182 Handle<PropertyCell> cell = JSGlobalObject::EnsureEmptyPropertyCell( |
192 global, name, PropertyCellType::kInvalidated); | 183 global, name, PropertyCellType::kInvalidated); |
193 Isolate* isolate = masm->isolate(); | 184 Isolate* isolate = masm->isolate(); |
194 DCHECK(cell->value()->IsTheHole(isolate)); | 185 DCHECK(cell->value()->IsTheHole(isolate)); |
(...skipping 397 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
592 // Return the generated code. | 583 // Return the generated code. |
593 return GetCode(kind(), name); | 584 return GetCode(kind(), name); |
594 } | 585 } |
595 | 586 |
596 | 587 |
597 #undef __ | 588 #undef __ |
598 } // namespace internal | 589 } // namespace internal |
599 } // namespace v8 | 590 } // namespace v8 |
600 | 591 |
601 #endif // V8_TARGET_ARCH_MIPS | 592 #endif // V8_TARGET_ARCH_MIPS |
OLD | NEW |