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

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

Issue 2441543005: [full-codegen] Eliminate unnecessary hole checks for stores (Closed)
Patch Set: Merge and fix modules Created 4 years, 1 month 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/full-codegen.h ('k') | src/full-codegen/ia32/full-codegen-ia32.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/full-codegen/full-codegen.h" 5 #include "src/full-codegen/full-codegen.h"
6 6
7 #include "src/ast/ast-numbering.h" 7 #include "src/ast/ast-numbering.h"
8 #include "src/ast/ast.h" 8 #include "src/ast/ast.h"
9 #include "src/ast/prettyprinter.h" 9 #include "src/ast/prettyprinter.h"
10 #include "src/ast/scopes.h" 10 #include "src/ast/scopes.h"
(...skipping 1564 matching lines...) Expand 10 before | Expand all | Expand 10 after
1575 PushOperand(result_register()); 1575 PushOperand(result_register());
1576 1576
1577 EmitClassDefineProperties(lit); 1577 EmitClassDefineProperties(lit);
1578 DropOperands(1); 1578 DropOperands(1);
1579 1579
1580 // Set the constructor to have fast properties. 1580 // Set the constructor to have fast properties.
1581 CallRuntimeWithOperands(Runtime::kToFastProperties); 1581 CallRuntimeWithOperands(Runtime::kToFastProperties);
1582 1582
1583 if (lit->class_variable_proxy() != nullptr) { 1583 if (lit->class_variable_proxy() != nullptr) {
1584 EmitVariableAssignment(lit->class_variable_proxy()->var(), Token::INIT, 1584 EmitVariableAssignment(lit->class_variable_proxy()->var(), Token::INIT,
1585 lit->ProxySlot()); 1585 lit->ProxySlot(), HoleCheckMode::kElided);
1586 } 1586 }
1587 1587
1588 context()->Plug(result_register()); 1588 context()->Plug(result_register());
1589 } 1589 }
1590 1590
1591 void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) { 1591 void FullCodeGenerator::VisitRegExpLiteral(RegExpLiteral* expr) {
1592 Comment cmnt(masm_, "[ RegExpLiteral"); 1592 Comment cmnt(masm_, "[ RegExpLiteral");
1593 Callable callable = CodeFactory::FastCloneRegExp(isolate()); 1593 Callable callable = CodeFactory::FastCloneRegExp(isolate());
1594 CallInterfaceDescriptor descriptor = callable.descriptor(); 1594 CallInterfaceDescriptor descriptor = callable.descriptor();
1595 LoadFromFrameField(JavaScriptFrameConstants::kFunctionOffset, 1595 LoadFromFrameField(JavaScriptFrameConstants::kFunctionOffset,
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
1992 return info_->has_simple_parameters(); 1992 return info_->has_simple_parameters();
1993 } 1993 }
1994 1994
1995 FunctionLiteral* FullCodeGenerator::literal() const { return info_->literal(); } 1995 FunctionLiteral* FullCodeGenerator::literal() const { return info_->literal(); }
1996 1996
1997 #undef __ 1997 #undef __
1998 1998
1999 1999
2000 } // namespace internal 2000 } // namespace internal
2001 } // namespace v8 2001 } // namespace v8
OLDNEW
« no previous file with comments | « src/full-codegen/full-codegen.h ('k') | src/full-codegen/ia32/full-codegen-ia32.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698