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

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

Issue 1312613003: Ensure hole checks take place in switch statement scopes (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Changes based on review Created 5 years, 3 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 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_FULL_CODEGEN_H_ 5 #ifndef V8_FULL_CODEGEN_FULL_CODEGEN_H_
6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_ 6 #define V8_FULL_CODEGEN_FULL_CODEGEN_H_
7 7
8 #include "src/allocation.h" 8 #include "src/allocation.h"
9 #include "src/assert-scope.h" 9 #include "src/assert-scope.h"
10 #include "src/ast.h" 10 #include "src/ast.h"
(...skipping 683 matching lines...) Expand 10 before | Expand all | Expand 10 after
694 void set_new_context(const ExpressionContext* context) { context_ = context; } 694 void set_new_context(const ExpressionContext* context) { context_ = context; }
695 695
696 Handle<Script> script() { return info_->script(); } 696 Handle<Script> script() { return info_->script(); }
697 bool is_eval() { return info_->is_eval(); } 697 bool is_eval() { return info_->is_eval(); }
698 bool is_native() { return info_->is_native(); } 698 bool is_native() { return info_->is_native(); }
699 LanguageMode language_mode() { return literal()->language_mode(); } 699 LanguageMode language_mode() { return literal()->language_mode(); }
700 bool has_simple_parameters() { return info_->has_simple_parameters(); } 700 bool has_simple_parameters() { return info_->has_simple_parameters(); }
701 FunctionLiteral* literal() { return info_->literal(); } 701 FunctionLiteral* literal() { return info_->literal(); }
702 Scope* scope() { return scope_; } 702 Scope* scope() { return scope_; }
703 703
704 bool NeedsHoleCheck(VariableProxy* proxy);
705
704 static Register result_register(); 706 static Register result_register();
705 static Register context_register(); 707 static Register context_register();
706 708
707 // Set fields in the stack frame. Offsets are the frame pointer relative 709 // Set fields in the stack frame. Offsets are the frame pointer relative
708 // offsets defined in, e.g., StandardFrameConstants. 710 // offsets defined in, e.g., StandardFrameConstants.
709 void StoreToFrameField(int frame_offset, Register value); 711 void StoreToFrameField(int frame_offset, Register value);
710 712
711 // Load a value from the current context. Indices are defined as an enum 713 // Load a value from the current context. Indices are defined as an enum
712 // in v8::internal::Context. 714 // in v8::internal::Context.
713 void LoadContextField(Register dst, int context_index); 715 void LoadContextField(Register dst, int context_index);
(...skipping 364 matching lines...) Expand 10 before | Expand all | Expand 10 after
1078 1080
1079 Address start_; 1081 Address start_;
1080 Address instruction_start_; 1082 Address instruction_start_;
1081 uint32_t length_; 1083 uint32_t length_;
1082 }; 1084 };
1083 1085
1084 1086
1085 } } // namespace v8::internal 1087 } } // namespace v8::internal
1086 1088
1087 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ 1089 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698