Changeset 73433 in webkit for trunk/JavaScriptCore/runtime/JSString.h
- Timestamp:
- Dec 7, 2010, 3:11:08 AM (14 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/JavaScriptCore/runtime/JSString.h
r71375 r73433 357 357 358 358 void resolveRope(ExecState*) const; 359 JSString* substringFromRope(ExecState*, unsigned offset, unsigned length); 359 360 360 361 void appendStringInConstruct(unsigned& index, const UString& string) … … 436 437 friend JSValue jsString(ExecState* exec, JSValue thisValue); 437 438 friend JSString* jsStringWithFinalizer(ExecState*, const UString&, JSStringFinalizerCallback callback, void* context); 439 friend JSString* jsSubstring(ExecState* exec, JSString* s, unsigned offset, unsigned length); 438 440 }; 439 441 … … 519 521 JSGlobalData* globalData = &exec->globalData(); 520 522 return fixupVPtr(globalData, new (globalData) JSString(globalData, s, callback, context)); 523 } 524 525 inline JSString* jsSubstring(ExecState* exec, JSString* s, unsigned offset, unsigned length) 526 { 527 ASSERT(offset <= static_cast<unsigned>(s->length())); 528 ASSERT(length <= static_cast<unsigned>(s->length())); 529 ASSERT(offset + length <= static_cast<unsigned>(s->length())); 530 JSGlobalData* globalData = &exec->globalData(); 531 if (!length) 532 return globalData->smallStrings.emptyString(globalData); 533 if (s->isRope()) 534 return s->substringFromRope(exec, offset, length); 535 return jsSubstring(globalData, s->m_value, offset, length); 521 536 } 522 537
Note:
See TracChangeset
for help on using the changeset viewer.