search for: staticlist

Displaying 8 results from an estimated 8 matches for "staticlist".

2016 Dec 26
0
A potential race on StaticList in RegisterManagedStatic
Though it won't actually help to guard this: while (StaticList) - a fence here is needed... On Mon, Dec 26, 2016 at 9:20 AM, Viacheslav Nikolaev < viacheslav.nikolaev at gmail.com> wrote: > Ptr member of ManagedStaticBase is now atomic. > In ManagedStaticBase::RegisterManagedStatic we have such code: > > void *Tmp = Creator(); > &g...
2016 Dec 26
2
A potential race on StaticList in RegisterManagedStatic
Ptr member of ManagedStaticBase is now atomic. In ManagedStaticBase::RegisterManagedStatic we have such code: void *Tmp = Creator(); Ptr.store(Tmp, std::memory_order_release); DeleterFn = Deleter; // Add to list of managed statics. Next = StaticList; StaticList = this; StaticList is not atomic and not guarded by any fence. The same applies to the members DeleterFn and Next. Doesn't it seem reasonable to change the code to DeleterFn = Deleter; // Add to list of managed statics. Next = StaticList; StaticLis...
2006 Apr 03
5
Is old school STI broken? How would you do the same now?
So this new STI :through thing is still not clear to me. I have a project now where I''m using this: class List < ActiveRecord::Base belongs_to :user end class StaticList < List has_and_belongs_to_many :items end In the script/console: >> StaticList.create NameError: uninitialized constant StaticList What? ok, fine. So a List.create would be in order, except no matter what is passed into :type =>, it ends up with "List" in the d...
2020 Sep 30
2
Creating a global variable for a struct array
Let me clarify my question. I have a struct array h1 as follows: dhash h1[10]; I want to get a Constant* to variable h1. It looks like I can use ConstantStruct::get(StructType*, ArrayRef<Constant *>) to do this. My question is how to get the second argument of type ArrayRef<Constant *> from the above variable h1. Thanks, Chaitra ________________________________ From: Tim Northover
2020 Oct 01
2
Creating a global variable for a struct array
...balVariable(Module, FileNameInit->getType(), true, GlobalValue::PrivateLinkage, FileNameInit, ".str"); FileName = ConstantExpr::getBitCast(FileName, Int8PtrTy); // Look up the previously created static_list variable (code to produce it omitted for brevity). GlobalVariable *StaticList = Module->getNamedValue("static_list"); // Create the ConstantStruct that will initialize the first element of the array. Constant *FirstInitArr[] = { FileName, StaticList }; ConstantStruct *FirstInit = ConstantStruct::get(DHashTy, FirstInitArr); // Create an all-zero...
2013 Feb 13
0
[LLVMdev] ManagedStatic and order of destruction
Right, I'm suggesting we keep llvm_shutdown() for users who want this control, but also destroy still-live ManagedStatic instances if llvm_shutdown() is not called. This helps in the case where there is not a clear time when llvm_shutdown() can be called, especially given that LLVM cannot be resurrected in the same process due to current limitations in the pass registry, and perhaps
2013 Feb 09
3
[LLVMdev] ManagedStatic and order of destruction
I'm curious about the design rationale for how ManagedStatic instances are cleaned up, and I'm hoping someone can shed some light on it. Currently, ManagedStatic objects are cleaned up when llvm_shutdown() traverses the global list of initialized objects and calls destroy() on each. This leads to two questions: 1. An assertion enforces that the objects are deleted in reverse order of
2017 Jun 21
6
RFC: Cleaning up the Itanium demangler
...}, {"_ZL15ExplicitSymbols", "ExplicitSymbols"}, {"_ZL13OpenedHandles", "OpenedHandles"}, {"_ZL12ErrorHandler", "ErrorHandler"}, {"_ZL20ErrorHandlerUserData", "ErrorHandlerUserData"}, {"_ZL10StaticList", "StaticList"}, {"_ZN12_GLOBAL__N_1L7successE", "(anonymous namespace)::success"}, {"_ZN12_GLOBAL__N_1L10separatorsE", "(anonymous namespace)::separators"}, {"_ZN12_GLOBAL__N_1L7successE", "(anonymous namespace)::...