Changeset 110266 in webkit for trunk/Source/JavaScriptCore/runtime/RegExpObject.h
- Timestamp:
- Mar 8, 2012, 10:49:55 PM (13 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Source/JavaScriptCore/runtime/RegExpObject.h
r109008 r110266 1 1 /* 2 2 * Copyright (C) 1999-2000 Harri Porten ([email protected]) 3 * Copyright (C) 2003, 2007, 2008 Apple Inc. All Rights Reserved.3 * Copyright (C) 2003, 2007, 2008, 2012 Apple Inc. All Rights Reserved. 4 4 * 5 5 * This library is free software; you can redistribute it and/or … … 45 45 } 46 46 47 void setRegExp(JSGlobalData& globalData, RegExp* r) { d->regExp.set(globalData, this, r); }48 RegExp* regExp() const { return d->regExp.get(); }47 void setRegExp(JSGlobalData& globalData, RegExp* r) { m_regExp.set(globalData, this, r); } 48 RegExp* regExp() const { return m_regExp.get(); } 49 49 50 50 void setLastIndex(ExecState* exec, size_t lastIndex) 51 51 { 52 d->lastIndex.setWithoutWriteBarrier(jsNumber(lastIndex));53 if (LIKELY( d->lastIndexIsWritable))54 d->lastIndex.setWithoutWriteBarrier(jsNumber(lastIndex));52 m_lastIndex.setWithoutWriteBarrier(jsNumber(lastIndex)); 53 if (LIKELY(m_lastIndexIsWritable)) 54 m_lastIndex.setWithoutWriteBarrier(jsNumber(lastIndex)); 55 55 else 56 56 throwTypeError(exec, StrictModeReadonlyPropertyWriteError); … … 58 58 void setLastIndex(ExecState* exec, JSValue lastIndex, bool shouldThrow) 59 59 { 60 if (LIKELY( d->lastIndexIsWritable))61 d->lastIndex.set(exec->globalData(), this, lastIndex);60 if (LIKELY(m_lastIndexIsWritable)) 61 m_lastIndex.set(exec->globalData(), this, lastIndex); 62 62 else if (shouldThrow) 63 63 throwTypeError(exec, StrictModeReadonlyPropertyWriteError); … … 65 65 JSValue getLastIndex() const 66 66 { 67 return d->lastIndex.get();67 return m_lastIndex.get(); 68 68 } 69 69 … … 85 85 JS_EXPORT_PRIVATE RegExpObject(JSGlobalObject*, Structure*, RegExp*); 86 86 JS_EXPORT_PRIVATE void finishCreation(JSGlobalObject*); 87 static void destroy(JSCell*);88 87 89 88 static const unsigned StructureFlags = OverridesVisitChildren | OverridesGetOwnPropertySlot | Base::StructureFlags; … … 99 98 bool match(ExecState*); 100 99 101 struct RegExpObjectData {102 WTF_MAKE_FAST_ALLOCATED;103 public:104 RegExpObjectData(JSGlobalData& globalData, RegExpObject* owner, RegExp* regExp)105 : regExp(globalData, owner, regExp)106 , lastIndexIsWritable(true)107 {108 lastIndex.setWithoutWriteBarrier(jsNumber(0));109 }110 111 WriteBarrier<RegExp> regExp;112 WriteBarrier<Unknown> lastIndex;113 bool lastIndexIsWritable;114 };115 100 #if COMPILER(MSVC) 116 101 friend void WTF::deleteOwnedPtr<RegExpObjectData>(RegExpObjectData*); 117 102 #endif 118 OwnPtr<RegExpObjectData> d; 103 WriteBarrier<RegExp> m_regExp; 104 WriteBarrier<Unknown> m_lastIndex; 105 bool m_lastIndexIsWritable; 119 106 }; 120 107
Note:
See TracChangeset
for help on using the changeset viewer.