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

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

Issue 1270393002: [strong] Refactor out separate strong runtime call for class objects (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: cl feedback Created 5 years, 4 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 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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_PPC 7 #if V8_TARGET_ARCH_PPC
8 8
9 #include "src/code-factory.h" 9 #include "src/code-factory.h"
10 #include "src/code-stubs.h" 10 #include "src/code-stubs.h"
(...skipping 2557 matching lines...) Expand 10 before | Expand all | Expand 10 after
2568 __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 4); 2568 __ CallRuntime(Runtime::kDefineSetterPropertyUnchecked, 4);
2569 break; 2569 break;
2570 2570
2571 default: 2571 default:
2572 UNREACHABLE(); 2572 UNREACHABLE();
2573 } 2573 }
2574 } 2574 }
2575 2575
2576 // Set both the prototype and constructor to have fast properties, and also 2576 // Set both the prototype and constructor to have fast properties, and also
2577 // freeze them in strong mode. 2577 // freeze them in strong mode.
2578 __ CallRuntime(is_strong(language_mode()) 2578 __ CallRuntime(Runtime::kFinalizeClassDefinition, 2);
2579 ? Runtime::kFinalizeClassDefinitionStrong
2580 : Runtime::kFinalizeClassDefinition,
2581 2);
2582 } 2579 }
2583 2580
2584 2581
2585 void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr, Token::Value op) { 2582 void FullCodeGenerator::EmitBinaryOp(BinaryOperation* expr, Token::Value op) {
2586 __ pop(r4); 2583 __ pop(r4);
2587 Handle<Code> code = 2584 Handle<Code> code =
2588 CodeFactory::BinaryOpIC(isolate(), op, strength(language_mode())).code(); 2585 CodeFactory::BinaryOpIC(isolate(), op, strength(language_mode())).code();
2589 JumpPatchSite patch_site(masm_); // unbound, signals no inlined smi code. 2586 JumpPatchSite patch_site(masm_); // unbound, signals no inlined smi code.
2590 CallIC(code, expr->BinaryOperationFeedbackId()); 2587 CallIC(code, expr->BinaryOperationFeedbackId());
2591 patch_site.EmitPatchInfo(); 2588 patch_site.EmitPatchInfo();
(...skipping 2826 matching lines...) Expand 10 before | Expand all | Expand 10 after
5418 return ON_STACK_REPLACEMENT; 5415 return ON_STACK_REPLACEMENT;
5419 } 5416 }
5420 5417
5421 DCHECK(interrupt_address == 5418 DCHECK(interrupt_address ==
5422 isolate->builtins()->OsrAfterStackCheck()->entry()); 5419 isolate->builtins()->OsrAfterStackCheck()->entry());
5423 return OSR_AFTER_STACK_CHECK; 5420 return OSR_AFTER_STACK_CHECK;
5424 } 5421 }
5425 } // namespace internal 5422 } // namespace internal
5426 } // namespace v8 5423 } // namespace v8
5427 #endif // V8_TARGET_ARCH_PPC 5424 #endif // V8_TARGET_ARCH_PPC
OLDNEW
« no previous file with comments | « src/full-codegen/mips64/full-codegen-mips64.cc ('k') | src/full-codegen/x64/full-codegen-x64.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698