#include "RegExpMatchesArray.h"
#include "ButterflyInlines.h"
-#include "Operations.h"
+#include "JSCInlines.h"
namespace JSC {
{
ASSERT(result);
VM& vm = exec->vm();
- Butterfly* butterfly = createArrayButterfly(vm, regExp->numSubpatterns() + 1);
+ Butterfly* butterfly = createArrayButterfly(vm, 0, regExp->numSubpatterns() + 1);
RegExpMatchesArray* array = new (NotNull, allocateCell<RegExpMatchesArray>(vm.heap)) RegExpMatchesArray(vm, butterfly, exec->lexicalGlobalObject(), input, regExp, result);
array->finishCreation(vm);
return array;
void RegExpMatchesArray::visitChildren(JSCell* cell, SlotVisitor& visitor)
{
RegExpMatchesArray* thisObject = jsCast<RegExpMatchesArray*>(cell);
- ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info);
+ ASSERT_GC_OBJECT_INHERITS(thisObject, info());
COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag);
ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren());
}
}
- PutPropertySlot slot;
- JSArray::put(this, exec, exec->propertyNames().index, jsNumber(m_result.start), slot);
- JSArray::put(this, exec, exec->propertyNames().input, m_input.get(), slot);
+ putDirect(exec->vm(), exec->propertyNames().index, jsNumber(m_result.start));
+ putDirect(exec->vm(), exec->propertyNames().input, m_input.get());
m_state = ReifiedAll;
}