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

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

Issue 1251443002: ARM: make sure that the expected code size is computed in predictable scope. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 years, 5 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
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #if V8_TARGET_ARCH_ARM 7 #if V8_TARGET_ARCH_ARM
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 346 matching lines...) Expand 10 before | Expand all | Expand 10 after
357 VisitDeclarations(scope()->declarations()); 357 VisitDeclarations(scope()->declarations());
358 } 358 }
359 359
360 { Comment cmnt(masm_, "[ Stack check"); 360 { Comment cmnt(masm_, "[ Stack check");
361 PrepareForBailoutForId(BailoutId::Declarations(), NO_REGISTERS); 361 PrepareForBailoutForId(BailoutId::Declarations(), NO_REGISTERS);
362 Label ok; 362 Label ok;
363 __ LoadRoot(ip, Heap::kStackLimitRootIndex); 363 __ LoadRoot(ip, Heap::kStackLimitRootIndex);
364 __ cmp(sp, Operand(ip)); 364 __ cmp(sp, Operand(ip));
365 __ b(hs, &ok); 365 __ b(hs, &ok);
366 Handle<Code> stack_check = isolate()->builtins()->StackCheck(); 366 Handle<Code> stack_check = isolate()->builtins()->StackCheck();
367 PredictableCodeSizeScope predictable(masm_, 367 PredictableCodeSizeScope predictable(masm_);
368 predictable.ExpectSize(
368 masm_->CallSize(stack_check, RelocInfo::CODE_TARGET)); 369 masm_->CallSize(stack_check, RelocInfo::CODE_TARGET));
369 __ Call(stack_check, RelocInfo::CODE_TARGET); 370 __ Call(stack_check, RelocInfo::CODE_TARGET);
370 __ bind(&ok); 371 __ bind(&ok);
371 } 372 }
372 373
373 { Comment cmnt(masm_, "[ Body"); 374 { Comment cmnt(masm_, "[ Body");
374 DCHECK(loop_depth() == 0); 375 DCHECK(loop_depth() == 0);
375 VisitStatements(function()->body()); 376 VisitStatements(function()->body());
376 DCHECK(loop_depth() == 0); 377 DCHECK(loop_depth() == 0);
377 } 378 }
(...skipping 5245 matching lines...) Expand 10 before | Expand all | Expand 10 after
5623 DCHECK(interrupt_address == 5624 DCHECK(interrupt_address ==
5624 isolate->builtins()->OsrAfterStackCheck()->entry()); 5625 isolate->builtins()->OsrAfterStackCheck()->entry());
5625 return OSR_AFTER_STACK_CHECK; 5626 return OSR_AFTER_STACK_CHECK;
5626 } 5627 }
5627 5628
5628 5629
5629 } // namespace internal 5630 } // namespace internal
5630 } // namespace v8 5631 } // namespace v8
5631 5632
5632 #endif // V8_TARGET_ARCH_ARM 5633 #endif // V8_TARGET_ARCH_ARM
OLDNEW
« no previous file with comments | « src/arm/code-stubs-arm.cc ('k') | src/arm/lithium-codegen-arm.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698