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

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: Rename function and add sloppy mode tests 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
« no previous file with comments | « src/full-codegen/arm64/full-codegen-arm64.cc ('k') | src/full-codegen/full-codegen.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 #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 533 matching lines...) Expand 10 before | Expand all | Expand 10 after
544 TypeofMode typeof_mode, Label* slow); 544 TypeofMode typeof_mode, Label* slow);
545 MemOperand ContextSlotOperandCheckExtensions(Variable* var, Label* slow); 545 MemOperand ContextSlotOperandCheckExtensions(Variable* var, Label* slow);
546 void EmitDynamicLookupFastCase(VariableProxy* proxy, TypeofMode typeof_mode, 546 void EmitDynamicLookupFastCase(VariableProxy* proxy, TypeofMode typeof_mode,
547 Label* slow, Label* done); 547 Label* slow, Label* done);
548 void EmitGlobalVariableLoad(VariableProxy* proxy, TypeofMode typeof_mode); 548 void EmitGlobalVariableLoad(VariableProxy* proxy, TypeofMode typeof_mode);
549 void EmitVariableLoad(VariableProxy* proxy, 549 void EmitVariableLoad(VariableProxy* proxy,
550 TypeofMode typeof_mode = NOT_INSIDE_TYPEOF); 550 TypeofMode typeof_mode = NOT_INSIDE_TYPEOF);
551 551
552 void EmitAccessor(Expression* expression); 552 void EmitAccessor(Expression* expression);
553 553
554 bool NeedsHoleCheckForLoad(VariableProxy* proxy);
555
554 // Expects the arguments and the function already pushed. 556 // Expects the arguments and the function already pushed.
555 void EmitResolvePossiblyDirectEval(int arg_count); 557 void EmitResolvePossiblyDirectEval(int arg_count);
556 558
557 // Platform-specific support for allocating a new closure based on 559 // Platform-specific support for allocating a new closure based on
558 // the given function info. 560 // the given function info.
559 void EmitNewClosure(Handle<SharedFunctionInfo> info, bool pretenure); 561 void EmitNewClosure(Handle<SharedFunctionInfo> info, bool pretenure);
560 562
561 // Re-usable portions of CallRuntime 563 // Re-usable portions of CallRuntime
562 void EmitLoadJSRuntimeFunction(CallRuntime* expr); 564 void EmitLoadJSRuntimeFunction(CallRuntime* expr);
563 void EmitCallJSRuntimeFunction(CallRuntime* expr); 565 void EmitCallJSRuntimeFunction(CallRuntime* expr);
(...skipping 513 matching lines...) Expand 10 before | Expand all | Expand 10 after
1077 1079
1078 Address start_; 1080 Address start_;
1079 Address instruction_start_; 1081 Address instruction_start_;
1080 uint32_t length_; 1082 uint32_t length_;
1081 }; 1083 };
1082 1084
1083 1085
1084 } } // namespace v8::internal 1086 } } // namespace v8::internal
1085 1087
1086 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_ 1088 #endif // V8_FULL_CODEGEN_FULL_CODEGEN_H_
OLDNEW
« no previous file with comments | « src/full-codegen/arm64/full-codegen-arm64.cc ('k') | src/full-codegen/full-codegen.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698