void RegExpConstructor::visitChildren(JSCell* cell, SlotVisitor& visitor) { RegExpConstructor* thisObject = jsCast<RegExpConstructor*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); thisObject->m_cachedResult.visitChildren(visitor); }
void JSTestSerializedScriptValueInterface::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSTestSerializedScriptValueInterface* thisObject = jsCast<JSTestSerializedScriptValueInterface*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_cachedValue); visitor.append(&thisObject->m_cachedReadonlyValue); }
void JSDOMWindowShell::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSDOMWindowShell* thisObject = static_cast<JSDOMWindowShell*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); if (thisObject->m_window) visitor.append(&thisObject->m_window); }
void DebuggerActivation::visitChildren(JSCell* cell, SlotVisitor& visitor) { DebuggerActivation* thisObject = jsCast<DebuggerActivation*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); JSObject::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_activation); }
void UnlinkedProgramCodeBlock::visitChildren(JSCell* cell, SlotVisitor& visitor) { UnlinkedProgramCodeBlock* thisObject = jsCast<UnlinkedProgramCodeBlock*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); for (size_t i = 0, end = thisObject->m_functionDeclarations.size(); i != end; i++) visitor.append(&thisObject->m_functionDeclarations[i].second); }
void ProgramExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor) { ProgramExecutable* thisObject = static_cast<ProgramExecutable*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); ScriptExecutable::visitChildren(thisObject, visitor); if (thisObject->m_programCodeBlock) thisObject->m_programCodeBlock->visitAggregate(visitor); }
void sec_rom_info_init (void) { COMPILE_ASSERT(AND_ROM_INFO_SIZE == sizeof(AND_ROMINFO_T)); SMSG("[%s] 'v%d','0x%x','0x%x','0x%x','0x%x'\n", MOD, g_ROM_INFO.m_rom_info_ver, g_ROM_INFO.m_sec_cfg_offset, g_ROM_INFO.m_sec_cfg_length, g_ROM_INFO.m_sec_ro_offset, g_ROM_INFO.m_sec_ro_length); }
void JSWrapperObject::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSWrapperObject* thisObject = jsCast<JSWrapperObject*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); JSObject::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_internalValue); }
void NativeErrorConstructor::visitChildren(JSCell* cell, SlotVisitor& visitor) { NativeErrorConstructor* thisObject = jsCast<NativeErrorConstructor*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); InternalFunction::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_errorStructure); }
void JSSharedWorker::visitChildren(SlotVisitor& visitor) { ASSERT_GC_OBJECT_INHERITS(this, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(visitor); if (MessagePort* port = impl()->port()) visitor.addOpaqueRoot(port); }
void JSNameScope::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSNameScope* thisObject = jsCast<JSNameScope*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_registerStore); }
void JSSetIterator::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSSetIterator* thisObject = jsCast<JSSetIterator*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_iteratedObjectData); }
void JSCanvasRenderingContext::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSCanvasRenderingContext* thisObject = jsCast<JSCanvasRenderingContext*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.addOpaqueRoot(root(thisObject->impl()->canvas())); }
void RegExpObject::visitChildren(SlotVisitor& visitor) { ASSERT_GC_OBJECT_INHERITS(this, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(visitor); if (d->regExp) visitor.append(&d->regExp); if (UNLIKELY(!d->lastIndex.get().isInt32())) visitor.append(&d->lastIndex); }
void JSSharedWorker::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSSharedWorker* thisObject = jsCast<JSSharedWorker*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); if (MessagePort* port = thisObject->impl()->port()) visitor.addOpaqueRoot(port); }
void JSTreeWalker::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSTreeWalker* thisObject = jsCast<JSTreeWalker*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); if (NodeFilter* filter = thisObject->m_impl->filter()) visitor.addOpaqueRoot(filter); }
void FunctionExecutable::visitChildren(SlotVisitor& visitor) { ASSERT_GC_OBJECT_INHERITS(this, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(structure()->typeInfo().overridesVisitChildren()); ScriptExecutable::visitChildren(visitor); if (m_codeBlockForCall) m_codeBlockForCall->visitAggregate(visitor); if (m_codeBlockForConstruct) m_codeBlockForConstruct->visitAggregate(visitor); }
void JSSVGElementInstance::visitChildren(JSC::JSCell* cell, JSC::SlotVisitor& visitor) { JSSVGElementInstance* thisObject = JSC::jsCast<JSSVGElementInstance*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, info()); COMPILE_ASSERT(StructureFlags & JSC::OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); // Skip JSEventTarget::visitChildren because event listener registration is // forwarded to the corresponding element. JSEventTarget::Base::visitChildren(thisObject, visitor); visitor.addOpaqueRoot(root(thisObject->impl().correspondingElement())); }
void RegExpObject::visitChildren(JSCell* cell, SlotVisitor& visitor) { RegExpObject* thisObject = jsCast<RegExpObject*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_regExp); visitor.append(&thisObject->m_lastIndex); }
void EvalExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor) { EvalExecutable* thisObject = jsCast<EvalExecutable*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); ScriptExecutable::visitChildren(thisObject, visitor); if (thisObject->m_evalCodeBlock) thisObject->m_evalCodeBlock->visitAggregate(visitor); visitor.append(&thisObject->m_unlinkedEvalCodeBlock); }
void UnlinkedFunctionExecutable::visitChildren(JSCell* cell, SlotVisitor& visitor) { UnlinkedFunctionExecutable* thisObject = jsCast<UnlinkedFunctionExecutable*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_nameValue); visitor.append(&thisObject->m_symbolTableForCall); visitor.append(&thisObject->m_symbolTableForConstruct); }
void JSSegmentedVariableObject::visitChildren(JSCell* cell, SlotVisitor& slotVisitor) { JSSegmentedVariableObject* thisObject = jsCast<JSSegmentedVariableObject*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); JSSymbolTableObject::visitChildren(thisObject, slotVisitor); for (unsigned i = thisObject->m_registers.size(); i--;) slotVisitor.append(&thisObject->m_registers[i]); }
void JSVideoTrack::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSVideoTrack* jsVideoTrack = jsCast<JSVideoTrack*>(cell); ASSERT_GC_OBJECT_INHERITS(jsVideoTrack, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(jsVideoTrack->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(jsVideoTrack, visitor); VideoTrack& videoTrack = jsVideoTrack->impl(); visitor.addOpaqueRoot(root(&videoTrack)); }
unsigned Gradient::hash() const { if (m_cachedHash) return m_cachedHash; struct { AffineTransform gradientSpaceTransformation; FloatPoint p0; FloatPoint p1; float r0; float r1; float aspectRatio; int lastStop; GradientSpreadMethod spreadMethod; bool radial; } parameters; // StringHasher requires that the memory it hashes be a multiple of two in size. COMPILE_ASSERT(!(sizeof(parameters) % 2), Gradient_parameters_size_should_be_multiple_of_two); COMPILE_ASSERT(!(sizeof(ColorStop) % 2), Color_stop_size_should_be_multiple_of_two); // Ensure that any padding in the struct is zero-filled, so it will not affect the hash value. memset(¶meters, 0, sizeof(parameters)); parameters.gradientSpaceTransformation = m_gradientSpaceTransformation; parameters.p0 = m_p0; parameters.p1 = m_p1; parameters.r0 = m_r0; parameters.r1 = m_r1; parameters.aspectRatio = m_aspectRatio; parameters.lastStop = m_lastStop; parameters.spreadMethod = m_spreadMethod; parameters.radial = m_radial; unsigned parametersHash = StringHasher::hashMemory(¶meters, sizeof(parameters)); unsigned stopHash = StringHasher::hashMemory(m_stops.data(), m_stops.size() * sizeof(ColorStop)); m_cachedHash = pairIntHash(parametersHash, stopHash); return m_cachedHash; }
void RegExpObject::visitChildren(JSCell* cell, SlotVisitor& visitor) { RegExpObject* thisObject = static_cast<RegExpObject*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); if (thisObject->d->regExp) visitor.append(&thisObject->d->regExp); if (UNLIKELY(!thisObject->d->lastIndex.get().isInt32())) visitor.append(&thisObject->d->lastIndex); }
void ScopeChainNode::visitChildren(JSCell* cell, SlotVisitor& visitor) { ScopeChainNode* thisObject = jsCast<ScopeChainNode*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); visitor.append(&thisObject->next); visitor.append(&thisObject->object); visitor.append(&thisObject->globalObject); visitor.append(&thisObject->globalThis); }
void JSDOMWindow::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSDOMWindow* thisObject = jsCast<JSDOMWindow*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); thisObject->impl()->visitJSEventListeners(visitor); if (Frame* frame = thisObject->impl()->frame()) visitor.addOpaqueRoot(frame); }
void JSAudioTrackList::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSAudioTrackList* jsAudioTrackList = jsCast<JSAudioTrackList*>(cell); ASSERT_GC_OBJECT_INHERITS(jsAudioTrackList, info()); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(jsAudioTrackList->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(jsAudioTrackList, visitor); AudioTrackList* audioTrackList = static_cast<AudioTrackList*>(jsAudioTrackList->impl()); visitor.addOpaqueRoot(root(audioTrackList->element())); audioTrackList->visitJSEventListeners(visitor); }
void JSFunction::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSFunction* thisObject = jsCast<JSFunction*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_scope); visitor.append(&thisObject->m_executable); thisObject->m_allocationProfile.visitAggregate(visitor); }
void JSBoundFunction::visitChildren(JSCell* cell, SlotVisitor& visitor) { JSBoundFunction* thisObject = jsCast<JSBoundFunction*>(cell); ASSERT_GC_OBJECT_INHERITS(thisObject, &s_info); COMPILE_ASSERT(StructureFlags & OverridesVisitChildren, OverridesVisitChildrenWithoutSettingFlag); ASSERT(thisObject->structure()->typeInfo().overridesVisitChildren()); Base::visitChildren(thisObject, visitor); visitor.append(&thisObject->m_targetFunction); visitor.append(&thisObject->m_boundThis); visitor.append(&thisObject->m_boundArgs); }