Yes, I did look at FlushICache, or actually where it's called from, respectively. But it's seems not that easy to understand all the cases, in particular there are almost no comments in the source code :)
I suppose literal pools are in non-executable memory? Are all pointer literals in such pools, or are pointer values that get changed by garbage collection also part of immediates of instructions in executable code, and require flushes? Specifically, I am trying to understand all cases when we need to invalidate cache lines of optimized (crankshafted) code. I suppose garbage collection can move an optimized code object as well? Deoptimization patches return (entry-) points in the optimized code. Are there any other smaller code patches (and invalidations) in optimized code that happen frequently? On Thursday, June 5, 2014 9:43:37 AM UTC-7, Rodolph Perfetta wrote: > > I presume you already look for CPU::FlushICache. Immediate values stored > in literal pools do not require cache sync when patched, maybe start with > Assembler::set_target_address and similar. > > Rodolph. > > > On 4 June 2014 20:07, Hendrik Greving <[email protected] > <javascript:>> wrote: > >> I am looking for a way to determine from the V8 engine when we edit >> (patch) existing crankshafted code, as well as possibly just moving >> optimized code (e.g. from garbage collection). I also like to understand >> what we're doing, e.g. distinguishing patching pointer literals and >> changing code for deoptimization by changing instructions altogether (by >> inserting branches). Any help, papers, summarizes, hints to the source code >> (e.g. CodePatcher?) greatly appreciated! >> >> Thanks, >> Hendrik Greving >> >> -- >> -- >> v8-dev mailing list >> [email protected] <javascript:> >> http://groups.google.com/group/v8-dev >> --- >> You received this message because you are subscribed to the Google Groups >> "v8-dev" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> For more options, visit https://groups.google.com/d/optout. >> > > -- -- v8-dev mailing list [email protected] http://groups.google.com/group/v8-dev --- You received this message because you are subscribed to the Google Groups "v8-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. For more options, visit https://groups.google.com/d/optout.
