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)::...