search for: pointer2

Displaying 11 results from an estimated 11 matches for "pointer2".

Did you mean: pointer
2019 Sep 16
2
Spectre V1 Mitigation - Internals?
...und the spectre v1 mitigation of LLVM. In the design document here : https://llvm.org/docs/SpeculativeLoadHardening.html#speculative-load-hardening. <https://llvm.org/docs/SpeculativeLoadHardening.html#speculative-load-hardening> Example: void leak(int data);void example(int* pointer1, int* pointer2) { if (condition) leak(*pointer1); else leak(*pointer2);} After the applying the mitigation the code resembles like: void leak(int data); void example(int* pointer1, int* pointer2) { uintptr_t predicate_state = all_ones_mask; if (condition) { predicate_state = !condition ? all...
2019 Sep 17
2
Spectre V1 Mitigation - Internals?
...all_ones, the processor can follow the predicted branch to retire. But if the processor mispredicted the branch, it will revert back as soon as condition become available if this is the case then we don't execute speculatively the operations : pointer1 &= predicate_state - (if branch) and *pointer2 & predicted_state - (else branch) right? Or out-of-processor's allow such access? Plus, why we are masking with all_zeros_mask during mis-prediction. Is there any reason for choosing all_zeros_mask? Cheers, Praveen On Tue, 17 Sep 2019 at 17:08, Jeremy Lakeman <Jeremy.Lakeman at gmai...
2019 Sep 17
2
Spectre V1 Mitigation - Internals?
...the predicted branch to retire. >> But if the processor mispredicted the branch, it will revert back as soon >> as condition become available if this is the case then we don't execute >> speculatively the operations : pointer1 &= predicate_state - (if branch) >> and *pointer2 & predicted_state - (else branch) right? Or >> out-of-processor's allow such access? >> >> Plus, why we are masking with all_zeros_mask during mis-prediction. Is >> there any reason for choosing all_zeros_mask? >> >> Cheers, >> Praveen >> >...
2006 May 14
2
[LLVMdev] __main() function and AliasSet
...yte]* %.str_1, int 0, int 0) ) ; <int> [#uses=0] ret int 0 } void %__main() { entry: ret void } ---------------------------------- I think the right AliasSet information calculated for this program should be Information for alias set0: pointer0=data_b pointer1=data_d pointer2=ptr_b.0.2 Information for alias set1: pointer0=data_c Information for alias set2: Information for alias set3: pointer0=data_e pointer1=data_f pointer2=ptr_a.1.0 Information for alias set4: Information for alias set5: ,where the empty AliasSets I think should b...
2006 May 14
0
[LLVMdev] Re: __main() function and AliasSet
...> void %__main() { > entry: > ret void > } > > ---------------------------------- > I think the right AliasSet information calculated for this program should > be > > Information for alias set0: > pointer0=data_b > pointer1=data_d > pointer2=ptr_b.0.2 > Information for alias set1: > pointer0=data_c > Information for alias set2: > Information for alias set3: > pointer0=data_e > pointer1=data_f > pointer2=ptr_a.1.0 > Information for alias set4: > Information for alias set5: &gt...
2006 May 15
2
[LLVMdev] Re: __main() function and AliasSet
...t;>> I think the right AliasSet information calculated for this program should > >>>> be > >>>> > >>>> Information for alias set0: > >>>> pointer0=data_b > >>>> pointer1=data_d > >>>> pointer2=ptr_b.0.2 > >>>> Information for alias set1: > >>>> pointer0=data_c > >>>> Information for alias set2: > >>>> Information for alias set3: > >>>> pointer0=data_e > >>>> pointer1=data_f &...
2006 May 17
2
[LLVMdev] Re: __main() function and AliasSet
...n calculated for this program should > >>>>>> be > >>>>>> > >>>>>> Information for alias set0: > >>>>>> pointer0=data_b > >>>>>> pointer1=data_d > >>>>>> pointer2=ptr_b.0.2 > >>>>>> Information for alias set1: > >>>>>> pointer0=data_c > >>>>>> Information for alias set2: > >>>>>> Information for alias set3: > >>>>>> pointer0=data_e >...
2006 May 17
0
[LLVMdev] Re: __main() function and AliasSet
...his program should >>>>>>>> be >>>>>>>> >>>>>>>> Information for alias set0: >>>>>>>> pointer0=data_b >>>>>>>> pointer1=data_d >>>>>>>> pointer2=ptr_b.0.2 >>>>>>>> Information for alias set1: >>>>>>>> pointer0=data_c >>>>>>>> Information for alias set2: >>>>>>>> Information for alias set3: >>>>>>>> pointe...
2006 May 15
0
[LLVMdev] Re: __main() function and AliasSet
...the right AliasSet information calculated for this program should >>>>>> be >>>>>> >>>>>> Information for alias set0: >>>>>> pointer0=data_b >>>>>> pointer1=data_d >>>>>> pointer2=ptr_b.0.2 >>>>>> Information for alias set1: >>>>>> pointer0=data_c >>>>>> Information for alias set2: >>>>>> Information for alias set3: >>>>>> pointer0=data_e >>>>>>...
2018 Mar 23
5
RFC: Speculative Load Hardening (a Spectre variant #1 mitigation)
...opose is to cause loads to be checked using branchless code to ensure that they are executing along a valid control flow path. Consider the following C-pseudo-code representing the core idea of a predicate guarding potentially invalid loads: ``` void leak(int data); void example(int* pointer1, int* pointer2) { if (condition) { // ... lots of code ... leak(*pointer1); } else { // ... more code ... leak(*pointer2); } } ``` This would get transformed into something resembling the following: ``` uintptr_t all_ones_mask = std::numerical_limits<uintptr_t>::max(); uintptr_t all_z...
2000 Apr 21
3
vorbisfile updates, and a couple of questions
The changes to vorbisfile that I suggested earlier have now been committed - this is mostly a merge of my code with a similar patch from Martin Vogt (thanks Martin). The old ov_open() interface remains untouched - and for many people, this is all you'll need to use, ever. It now calls the new interface with appropriate arguments. The new ov_open_callbacks() function adds an extra argument to