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

Side by Side Diff: src/crankshaft/hydrogen.cc

Issue 1424703005: Remove JSBuiltinsObject. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Created 5 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
OLDNEW
1 // Copyright 2013 the V8 project authors. All rights reserved. 1 // Copyright 2013 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/crankshaft/hydrogen.h" 5 #include "src/crankshaft/hydrogen.h"
6 6
7 #include <sstream> 7 #include <sstream>
8 8
9 #include "src/allocation-site-scopes.h" 9 #include "src/allocation-site-scopes.h"
10 #include "src/ast-numbering.h" 10 #include "src/ast-numbering.h"
(...skipping 1576 matching lines...) Expand 10 before | Expand all | Expand 10 after
1587 } 1587 }
1588 1588
1589 1589
1590 void HGraphBuilder::BuildNonGlobalObjectCheck(HValue* receiver) { 1590 void HGraphBuilder::BuildNonGlobalObjectCheck(HValue* receiver) {
1591 // Get the the instance type of the receiver, and make sure that it is 1591 // Get the the instance type of the receiver, and make sure that it is
1592 // not one of the global object types. 1592 // not one of the global object types.
1593 HValue* map = 1593 HValue* map =
1594 Add<HLoadNamedField>(receiver, nullptr, HObjectAccess::ForMap()); 1594 Add<HLoadNamedField>(receiver, nullptr, HObjectAccess::ForMap());
1595 HValue* instance_type = 1595 HValue* instance_type =
1596 Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapInstanceType()); 1596 Add<HLoadNamedField>(map, nullptr, HObjectAccess::ForMapInstanceType());
1597 STATIC_ASSERT(JS_BUILTINS_OBJECT_TYPE == JS_GLOBAL_OBJECT_TYPE + 1); 1597 HValue* global_type = Add<HConstant>(JS_GLOBAL_OBJECT_TYPE);
1598 HValue* min_global_type = Add<HConstant>(JS_GLOBAL_OBJECT_TYPE);
1599 HValue* max_global_type = Add<HConstant>(JS_BUILTINS_OBJECT_TYPE);
1600 1598
1601 IfBuilder if_global_object(this); 1599 IfBuilder if_global_object(this);
1602 if_global_object.If<HCompareNumericAndBranch>(instance_type, 1600 if_global_object.If<HCompareNumericAndBranch>(instance_type, global_type,
1603 max_global_type, 1601 Token::EQ);
1604 Token::LTE);
1605 if_global_object.And();
1606 if_global_object.If<HCompareNumericAndBranch>(instance_type,
1607 min_global_type,
1608 Token::GTE);
1609 if_global_object.ThenDeopt(Deoptimizer::kReceiverWasAGlobalObject); 1602 if_global_object.ThenDeopt(Deoptimizer::kReceiverWasAGlobalObject);
1610 if_global_object.End(); 1603 if_global_object.End();
1611 } 1604 }
1612 1605
1613 1606
1614 void HGraphBuilder::BuildTestForDictionaryProperties( 1607 void HGraphBuilder::BuildTestForDictionaryProperties(
1615 HValue* object, 1608 HValue* object,
1616 HIfContinuation* continuation) { 1609 HIfContinuation* continuation) {
1617 HValue* properties = Add<HLoadNamedField>( 1610 HValue* properties = Add<HLoadNamedField>(
1618 object, nullptr, HObjectAccess::ForPropertiesPointer()); 1611 object, nullptr, HObjectAccess::ForPropertiesPointer());
(...skipping 12089 matching lines...) Expand 10 before | Expand all | Expand 10 after
13708 isolate()->GetHTracer()->TraceHydrogen(name(), graph_); 13701 isolate()->GetHTracer()->TraceHydrogen(name(), graph_);
13709 } 13702 }
13710 13703
13711 #ifdef DEBUG 13704 #ifdef DEBUG
13712 graph_->Verify(false); // No full verify. 13705 graph_->Verify(false); // No full verify.
13713 #endif 13706 #endif
13714 } 13707 }
13715 13708
13716 } // namespace internal 13709 } // namespace internal
13717 } // namespace v8 13710 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698