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

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

Issue 1734643002: [fullcodegen] Factor out EmitNamedPropertyLoad. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Rebased. Created 4 years, 10 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
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 #if V8_TARGET_ARCH_MIPS 5 #if V8_TARGET_ARCH_MIPS
6 6
7 // Note on Mips implementation: 7 // Note on Mips implementation:
8 // 8 //
9 // The result_register() for mips is the 'v0' register, which is defined 9 // The result_register() for mips is the 'v0' register, which is defined
10 // by the ABI to contain function return values. However, the first 10 // by the ABI to contain function return values. However, the first
(...skipping 2074 matching lines...) Expand 10 before | Expand all | Expand 10 after
2085 __ LoadRoot(t0, Heap::kEmptyFixedArrayRootIndex); 2085 __ LoadRoot(t0, Heap::kEmptyFixedArrayRootIndex);
2086 __ sw(a1, FieldMemOperand(v0, HeapObject::kMapOffset)); 2086 __ sw(a1, FieldMemOperand(v0, HeapObject::kMapOffset));
2087 __ sw(t0, FieldMemOperand(v0, JSObject::kPropertiesOffset)); 2087 __ sw(t0, FieldMemOperand(v0, JSObject::kPropertiesOffset));
2088 __ sw(t0, FieldMemOperand(v0, JSObject::kElementsOffset)); 2088 __ sw(t0, FieldMemOperand(v0, JSObject::kElementsOffset));
2089 __ sw(a2, FieldMemOperand(v0, JSIteratorResult::kValueOffset)); 2089 __ sw(a2, FieldMemOperand(v0, JSIteratorResult::kValueOffset));
2090 __ sw(a3, FieldMemOperand(v0, JSIteratorResult::kDoneOffset)); 2090 __ sw(a3, FieldMemOperand(v0, JSIteratorResult::kDoneOffset));
2091 STATIC_ASSERT(JSIteratorResult::kSize == 5 * kPointerSize); 2091 STATIC_ASSERT(JSIteratorResult::kSize == 5 * kPointerSize);
2092 } 2092 }
2093 2093
2094 2094
2095 void FullCodeGenerator::EmitNamedPropertyLoad(Property* prop) {
2096 SetExpressionPosition(prop);
2097 Literal* key = prop->key()->AsLiteral();
2098 DCHECK(!prop->IsSuperAccess());
2099
2100 __ li(LoadDescriptor::NameRegister(), Operand(key->value()));
2101 __ li(LoadDescriptor::SlotRegister(),
2102 Operand(SmiFromSlot(prop->PropertyFeedbackSlot())));
2103 CallLoadIC(NOT_INSIDE_TYPEOF);
2104 }
2105
2106
2107 void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr, 2095 void FullCodeGenerator::EmitInlineSmiBinaryOp(BinaryOperation* expr,
2108 Token::Value op, 2096 Token::Value op,
2109 Expression* left_expr, 2097 Expression* left_expr,
2110 Expression* right_expr) { 2098 Expression* right_expr) {
2111 Label done, smi_case, stub_call; 2099 Label done, smi_case, stub_call;
2112 2100
2113 Register scratch1 = a2; 2101 Register scratch1 = a2;
2114 Register scratch2 = a3; 2102 Register scratch2 = a3;
2115 2103
2116 // Get the arguments. 2104 // Get the arguments.
(...skipping 2139 matching lines...) Expand 10 before | Expand all | Expand 10 after
4256 reinterpret_cast<uint32_t>( 4244 reinterpret_cast<uint32_t>(
4257 isolate->builtins()->OsrAfterStackCheck()->entry())); 4245 isolate->builtins()->OsrAfterStackCheck()->entry()));
4258 return OSR_AFTER_STACK_CHECK; 4246 return OSR_AFTER_STACK_CHECK;
4259 } 4247 }
4260 4248
4261 4249
4262 } // namespace internal 4250 } // namespace internal
4263 } // namespace v8 4251 } // namespace v8
4264 4252
4265 #endif // V8_TARGET_ARCH_MIPS 4253 #endif // V8_TARGET_ARCH_MIPS
OLDNEW
« no previous file with comments | « src/full-codegen/ia32/full-codegen-ia32.cc ('k') | src/full-codegen/mips64/full-codegen-mips64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698