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

Unified Diff: src/compiler/arm/code-generator-arm.cc

Issue 1696043002: [runtime] Unify and simplify how frames are marked (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: All platforms Created 4 years, 9 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 side-by-side diff with in-line comments
Download patch
Index: src/compiler/arm/code-generator-arm.cc
diff --git a/src/compiler/arm/code-generator-arm.cc b/src/compiler/arm/code-generator-arm.cc
index 5c94ccf7c3b2d07bb6ce1b379cf99d14135080db..c6fcf3822629da72ba5d18c77b428d3e6c89cedd 100644
--- a/src/compiler/arm/code-generator-arm.cc
+++ b/src/compiler/arm/code-generator-arm.cc
@@ -1166,19 +1166,12 @@ void CodeGenerator::AssembleDeoptimizerCall(
void CodeGenerator::AssemblePrologue() {
CallDescriptor* descriptor = linkage()->GetIncomingDescriptor();
- if (descriptor->IsCFunctionCall()) {
- if (FLAG_enable_embedded_constant_pool) {
- __ Push(lr, fp, pp);
- // Adjust FP to point to saved FP.
- __ sub(fp, sp, Operand(StandardFrameConstants::kConstantPoolOffset));
+ if (frame()->needs_frame()) {
+ if (descriptor->flags() & CallDescriptor::kHasStandardFrameHeader) {
+ __ Prologue(this->info()->GeneratePreagedPrologue());
} else {
- __ Push(lr, fp);
- __ mov(fp, sp);
+ __ StubPrologue(info()->GetOutputStackFrameType());
titzer 2016/03/07 10:48:43 Would it be possible to unify the two cases and pu
danno 2016/03/08 07:04:44 Yes, but I'd prefer to save that for a separate CL
}
- } else if (descriptor->IsJSFunctionCall()) {
- __ Prologue(this->info()->GeneratePreagedPrologue());
- } else if (frame()->needs_frame()) {
- __ StubPrologue();
} else {
frame()->SetElidedFrameSizeInSlots(0);
}

Powered by Google App Engine
This is Rietveld 408576698