Changeset 183615 in webkit for trunk/Source/JavaScriptCore/runtime/JSObject.cpp
- Timestamp:
- Apr 29, 2015, 9:40:55 PM (10 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/JSObject.cpp
r183291 r183615 837 837 } 838 838 839 template<JSObject::DoubleToContiguousMode mode> 840 ContiguousJSValues JSObject::genericConvertDoubleToContiguous(VM& vm) 839 ContiguousJSValues JSObject::convertDoubleToContiguous(VM& vm) 841 840 { 842 841 ASSERT(hasDouble(indexingType())); … … 850 849 continue; 851 850 } 852 JSValue v; 853 switch (mode) { 854 case EncodeValueAsDouble: 855 v = JSValue(JSValue::EncodeAsDouble, value); 856 break; 857 case RageConvertDoubleToValue: 858 v = jsNumber(value); 859 break; 860 default: 861 v = JSValue(); 862 RELEASE_ASSERT_NOT_REACHED(); 863 break; 864 } 865 ASSERT(v.isNumber()); 851 JSValue v = JSValue(JSValue::EncodeAsDouble, value); 866 852 currentAsValue->setWithoutWriteBarrier(v); 867 853 } … … 869 855 setStructure(vm, Structure::nonPropertyTransition(vm, structure(vm), AllocateContiguous)); 870 856 return m_butterfly->contiguous(); 871 }872 873 ContiguousJSValues JSObject::convertDoubleToContiguous(VM& vm)874 {875 return genericConvertDoubleToContiguous<EncodeValueAsDouble>(vm);876 }877 878 ContiguousJSValues JSObject::rageConvertDoubleToContiguous(VM& vm)879 {880 return genericConvertDoubleToContiguous<RageConvertDoubleToValue>(vm);881 857 } 882 858 … … 1050 1026 } 1051 1027 1052 ContiguousJSValues JSObject::ensureContiguousSlow(VM& vm , DoubleToContiguousMode mode)1028 ContiguousJSValues JSObject::ensureContiguousSlow(VM& vm) 1053 1029 { 1054 1030 ASSERT(inherits(info())); … … 1067 1043 1068 1044 case ALL_DOUBLE_INDEXING_TYPES: 1069 if (mode == RageConvertDoubleToValue)1070 return rageConvertDoubleToContiguous(vm);1071 1045 return convertDoubleToContiguous(vm); 1072 1046 … … 1078 1052 return ContiguousJSValues(); 1079 1053 } 1080 }1081 1082 ContiguousJSValues JSObject::ensureContiguousSlow(VM& vm)1083 {1084 return ensureContiguousSlow(vm, EncodeValueAsDouble);1085 }1086 1087 ContiguousJSValues JSObject::rageEnsureContiguousSlow(VM& vm)1088 {1089 return ensureContiguousSlow(vm, RageConvertDoubleToValue);1090 1054 } 1091 1055
Note:
See TracChangeset
for help on using the changeset viewer.