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

Side by Side Diff: src/full-codegen.h

Issue 939633002: Check stack size before pushing many arguments. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | no next file » | 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 #ifndef V8_FULL_CODEGEN_H_ 5 #ifndef V8_FULL_CODEGEN_H_
6 #define V8_FULL_CODEGEN_H_ 6 #define V8_FULL_CODEGEN_H_
7 7
8 #include "src/v8.h" 8 #include "src/v8.h"
9 9
10 #include "src/allocation.h" 10 #include "src/allocation.h"
(...skipping 415 matching lines...) Expand 10 before | Expand all | Expand 10 after
426 // a given literal string. 426 // a given literal string.
427 void EmitLiteralCompareTypeof(Expression* expr, 427 void EmitLiteralCompareTypeof(Expression* expr,
428 Expression* sub_expr, 428 Expression* sub_expr,
429 Handle<String> check); 429 Handle<String> check);
430 430
431 // Platform-specific code for equality comparison with a nil-like value. 431 // Platform-specific code for equality comparison with a nil-like value.
432 void EmitLiteralCompareNil(CompareOperation* expr, 432 void EmitLiteralCompareNil(CompareOperation* expr,
433 Expression* sub_expr, 433 Expression* sub_expr,
434 NilValue nil); 434 NilValue nil);
435 435
436 // Check whether the stack is going to be large enough before pushing.
437 void EmitPreemptiveStackCheck(int required_stack_size);
438
436 // Bailout support. 439 // Bailout support.
437 void PrepareForBailout(Expression* node, State state); 440 void PrepareForBailout(Expression* node, State state);
438 void PrepareForBailoutForId(BailoutId id, State state); 441 void PrepareForBailoutForId(BailoutId id, State state);
439 442
440 // Feedback slot support. The feedback vector will be cleared during gc and 443 // Feedback slot support. The feedback vector will be cleared during gc and
441 // collected by the type-feedback oracle. 444 // collected by the type-feedback oracle.
442 Handle<TypeFeedbackVector> FeedbackVector() const { 445 Handle<TypeFeedbackVector> FeedbackVector() const {
443 return info_->feedback_vector(); 446 return info_->feedback_vector();
444 } 447 }
445 void EnsureSlotContainsAllocationSite(FeedbackVectorSlot slot); 448 void EnsureSlotContainsAllocationSite(FeedbackVectorSlot slot);
(...skipping 603 matching lines...) Expand 10 before | Expand all | Expand 10 after
1049 1052
1050 Address start_; 1053 Address start_;
1051 Address instruction_start_; 1054 Address instruction_start_;
1052 uint32_t length_; 1055 uint32_t length_;
1053 }; 1056 };
1054 1057
1055 1058
1056 } } // namespace v8::internal 1059 } } // namespace v8::internal
1057 1060
1058 #endif // V8_FULL_CODEGEN_H_ 1061 #endif // V8_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/arm/full-codegen-arm.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698