Changeset 44076 in webkit for trunk/JavaScriptCore/runtime/StructureTransitionTable.h
- Timestamp:
- May 22, 2009, 6:48:32 PM (16 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/StructureTransitionTable.h
r38440 r44076 38 38 39 39 struct StructureTransitionTableHash { 40 typedef std::pair<RefPtr<UString::Rep>, unsigned> Key;40 typedef std::pair<RefPtr<UString::Rep>, std::pair<unsigned, JSCell*> > Key; 41 41 static unsigned hash(const Key& p) 42 42 { … … 54 54 struct StructureTransitionTableHashTraits { 55 55 typedef WTF::HashTraits<RefPtr<UString::Rep> > FirstTraits; 56 typedef WTF::GenericHashTraits<unsigned> SecondTraits; 57 typedef std::pair<FirstTraits::TraitType, SecondTraits::TraitType> TraitType; 56 typedef WTF::GenericHashTraits<unsigned> SecondFirstTraits; 57 typedef WTF::GenericHashTraits<JSCell*> SecondSecondTraits; 58 typedef std::pair<FirstTraits::TraitType, std::pair<SecondFirstTraits::TraitType, SecondSecondTraits::TraitType> > TraitType; 58 59 59 static const bool emptyValueIsZero = FirstTraits::emptyValueIsZero && Second Traits::emptyValueIsZero;60 static TraitType emptyValue() { return std::make_pair(FirstTraits::emptyValue(), SecondTraits::emptyValue()); }60 static const bool emptyValueIsZero = FirstTraits::emptyValueIsZero && SecondFirstTraits::emptyValueIsZero && SecondSecondTraits::emptyValueIsZero; 61 static TraitType emptyValue() { return std::make_pair(FirstTraits::emptyValue(), std::make_pair(SecondFirstTraits::emptyValue(), SecondSecondTraits::emptyValue())); } 61 62 62 static const bool needsDestruction = FirstTraits::needsDestruction || Second Traits::needsDestruction;63 static const bool needsDestruction = FirstTraits::needsDestruction || SecondFirstTraits::needsDestruction || SecondSecondTraits::needsDestruction; 63 64 64 65 static void constructDeletedValue(TraitType& slot) { FirstTraits::constructDeletedValue(slot.first); }
Note:
See TracChangeset
for help on using the changeset viewer.