Changeset 36741 in webkit for trunk/JavaScriptCore/VM
- Timestamp:
- Sep 21, 2008, 1:35:20 PM (17 years ago)
- Location:
- trunk/JavaScriptCore/VM
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/VM/CodeGenerator.cpp
r36695 r36741 731 731 } 732 732 733 RegisterID* CodeGenerator::emitLoad(RegisterID* dst, double d) 734 { 735 return emitLoad(dst, jsNumber(globalExec(), d)); 733 RegisterID* CodeGenerator::emitLoad(RegisterID* dst, double number) 734 { 735 pair<NumberMap::iterator, bool> addResult = m_numberMap.add(number, 0); 736 if (addResult.second) 737 addResult.first->second = jsNumber(globalExec(), number); 738 return emitLoad(dst, addResult.first->second); 739 } 740 741 RegisterID* CodeGenerator::emitLoad(RegisterID* dst, const Identifier& identifier) 742 { 743 pair<IdentifierStringMap::iterator, bool> addResult = m_stringMap.add(identifier.ustring().rep(), 0); 744 if (addResult.second) 745 addResult.first->second = jsOwnedString(globalExec(), identifier.ustring()); 746 return emitLoad(dst, addResult.first->second); 736 747 } 737 748 -
trunk/JavaScriptCore/VM/CodeGenerator.h
r36604 r36741 229 229 RegisterID* emitLoad(RegisterID* dst, bool); 230 230 RegisterID* emitLoad(RegisterID* dst, double); 231 RegisterID* emitLoad(RegisterID* dst, const Identifier&); 231 232 RegisterID* emitLoad(RegisterID* dst, JSValue*); 232 233 RegisterID* emitUnexpectedLoad(RegisterID* dst, bool); … … 348 349 349 350 typedef HashMap<RefPtr<UString::Rep>, int, IdentifierRepHash, HashTraits<RefPtr<UString::Rep> >, IdentifierMapIndexHashTraits> IdentifierMap; 351 typedef HashMap<double, JSValue*> NumberMap; 352 typedef HashMap<UString::Rep*, JSString*, IdentifierRepHash> IdentifierStringMap; 350 353 351 354 RegisterID* emitCall(OpcodeID, RegisterID*, RegisterID*, RegisterID*, ArgumentsNode*, unsigned divot, unsigned startOffset, unsigned endOffset); … … 422 425 IdentifierMap m_identifierMap; 423 426 JSValueMap m_jsValueMap; 427 NumberMap m_numberMap; 428 IdentifierStringMap m_stringMap; 424 429 425 430 JSGlobalData* m_globalData;
Note:
See TracChangeset
for help on using the changeset viewer.