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

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

Issue 2472653002: [compiler] Sanitize IC counts for vector based ICs. (Closed)
Patch Set: Fix compile. Created 4 years, 1 month 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 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_PPC 5 #if V8_TARGET_ARCH_PPC
6 6
7 #include "src/full-codegen/full-codegen.h" 7 #include "src/full-codegen/full-codegen.h"
8 #include "src/ast/compile-time-value.h" 8 #include "src/ast/compile-time-value.h"
9 #include "src/ast/scopes.h" 9 #include "src/ast/scopes.h"
10 #include "src/code-factory.h" 10 #include "src/code-factory.h"
(...skipping 2220 matching lines...) Expand 10 before | Expand all | Expand 10 after
2231 PopOperands(StoreDescriptor::ReceiverRegister(), 2231 PopOperands(StoreDescriptor::ReceiverRegister(),
2232 StoreDescriptor::NameRegister()); 2232 StoreDescriptor::NameRegister());
2233 DCHECK(StoreDescriptor::ValueRegister().is(r3)); 2233 DCHECK(StoreDescriptor::ValueRegister().is(r3));
2234 2234
2235 CallKeyedStoreIC(expr->AssignmentSlot()); 2235 CallKeyedStoreIC(expr->AssignmentSlot());
2236 2236
2237 PrepareForBailoutForId(expr->AssignmentId(), BailoutState::TOS_REGISTER); 2237 PrepareForBailoutForId(expr->AssignmentId(), BailoutState::TOS_REGISTER);
2238 context()->Plug(r3); 2238 context()->Plug(r3);
2239 } 2239 }
2240 2240
2241
2242 void FullCodeGenerator::CallIC(Handle<Code> code, TypeFeedbackId ast_id) {
2243 ic_total_count_++;
2244 __ Call(code, RelocInfo::CODE_TARGET, ast_id);
2245 }
2246
2247
2248 // Code common for calls using the IC. 2241 // Code common for calls using the IC.
2249 void FullCodeGenerator::EmitCallWithLoadIC(Call* expr) { 2242 void FullCodeGenerator::EmitCallWithLoadIC(Call* expr) {
2250 Expression* callee = expr->expression(); 2243 Expression* callee = expr->expression();
2251 2244
2252 // Get the target function. 2245 // Get the target function.
2253 ConvertReceiverMode convert_mode; 2246 ConvertReceiverMode convert_mode;
2254 if (callee->IsVariableProxy()) { 2247 if (callee->IsVariableProxy()) {
2255 { 2248 {
2256 StackValueContext context(this); 2249 StackValueContext context(this);
2257 EmitVariableLoad(callee->AsVariableProxy()); 2250 EmitVariableLoad(callee->AsVariableProxy());
(...skipping 1373 matching lines...) Expand 10 before | Expand all | Expand 10 after
3631 3624
3632 DCHECK(Assembler::IsCrSet(Assembler::instr_at(cmp_address))); 3625 DCHECK(Assembler::IsCrSet(Assembler::instr_at(cmp_address)));
3633 3626
3634 DCHECK(interrupt_address == 3627 DCHECK(interrupt_address ==
3635 isolate->builtins()->OnStackReplacement()->entry()); 3628 isolate->builtins()->OnStackReplacement()->entry());
3636 return ON_STACK_REPLACEMENT; 3629 return ON_STACK_REPLACEMENT;
3637 } 3630 }
3638 } // namespace internal 3631 } // namespace internal
3639 } // namespace v8 3632 } // namespace v8
3640 #endif // V8_TARGET_ARCH_PPC 3633 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « src/full-codegen/mips64/full-codegen-mips64.cc ('k') | src/full-codegen/s390/full-codegen-s390.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698