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

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

Issue 1428203003: Use in-object fields instead of private symbols for regexp slots. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: using IS_REGEXP check 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 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/crankshaft/hydrogen-instructions.h" 5 #include "src/crankshaft/hydrogen-instructions.h"
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/base/safe_math.h" 8 #include "src/base/safe_math.h"
9 #include "src/crankshaft/hydrogen-infer-representation.h" 9 #include "src/crankshaft/hydrogen-infer-representation.h"
10 #include "src/double.h" 10 #include "src/double.h"
(...skipping 1632 matching lines...) Expand 10 before | Expand all | Expand 10 after
1643 case IS_SPEC_OBJECT: 1643 case IS_SPEC_OBJECT:
1644 *first = FIRST_SPEC_OBJECT_TYPE; 1644 *first = FIRST_SPEC_OBJECT_TYPE;
1645 *last = LAST_SPEC_OBJECT_TYPE; 1645 *last = LAST_SPEC_OBJECT_TYPE;
1646 return; 1646 return;
1647 case IS_JS_ARRAY: 1647 case IS_JS_ARRAY:
1648 *first = *last = JS_ARRAY_TYPE; 1648 *first = *last = JS_ARRAY_TYPE;
1649 return; 1649 return;
1650 case IS_JS_DATE: 1650 case IS_JS_DATE:
1651 *first = *last = JS_DATE_TYPE; 1651 *first = *last = JS_DATE_TYPE;
1652 return; 1652 return;
1653 case IS_JS_REGEXP:
1654 *first = *last = JS_REGEXP_TYPE;
1655 return;
1653 default: 1656 default:
1654 UNREACHABLE(); 1657 UNREACHABLE();
1655 } 1658 }
1656 } 1659 }
1657 1660
1658 1661
1659 void HCheckInstanceType::GetCheckMaskAndTag(uint8_t* mask, uint8_t* tag) { 1662 void HCheckInstanceType::GetCheckMaskAndTag(uint8_t* mask, uint8_t* tag) {
1660 DCHECK(!is_interval_check()); 1663 DCHECK(!is_interval_check());
1661 switch (check_) { 1664 switch (check_) {
1662 case IS_STRING: 1665 case IS_STRING:
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
1712 HValue* HCheckValue::Canonicalize() { 1715 HValue* HCheckValue::Canonicalize() {
1713 return (value()->IsConstant() && 1716 return (value()->IsConstant() &&
1714 HConstant::cast(value())->EqualsUnique(object_)) ? NULL : this; 1717 HConstant::cast(value())->EqualsUnique(object_)) ? NULL : this;
1715 } 1718 }
1716 1719
1717 1720
1718 const char* HCheckInstanceType::GetCheckName() const { 1721 const char* HCheckInstanceType::GetCheckName() const {
1719 switch (check_) { 1722 switch (check_) {
1720 case IS_SPEC_OBJECT: return "object"; 1723 case IS_SPEC_OBJECT: return "object";
1721 case IS_JS_ARRAY: return "array"; 1724 case IS_JS_ARRAY: return "array";
1722 case IS_JS_DATE: 1725 case IS_JS_DATE: return "date";
1723 return "date"; 1726 case IS_JS_REGEXP: return "regexp";
1724 case IS_STRING: return "string"; 1727 case IS_STRING: return "string";
1725 case IS_INTERNALIZED_STRING: return "internalized_string"; 1728 case IS_INTERNALIZED_STRING: return "internalized_string";
1726 } 1729 }
1727 UNREACHABLE(); 1730 UNREACHABLE();
1728 return ""; 1731 return "";
1729 } 1732 }
1730 1733
1731 1734
1732 std::ostream& HCheckInstanceType::PrintDataTo( 1735 std::ostream& HCheckInstanceType::PrintDataTo(
1733 std::ostream& os) const { // NOLINT 1736 std::ostream& os) const { // NOLINT
(...skipping 2960 matching lines...) Expand 10 before | Expand all | Expand 10 after
4694 case HObjectAccess::kExternalMemory: 4697 case HObjectAccess::kExternalMemory:
4695 os << "[external-memory]"; 4698 os << "[external-memory]";
4696 break; 4699 break;
4697 } 4700 }
4698 4701
4699 return os << "@" << access.offset(); 4702 return os << "@" << access.offset();
4700 } 4703 }
4701 4704
4702 } // namespace internal 4705 } // namespace internal
4703 } // namespace v8 4706 } // namespace v8
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698