في الجمعة، ٢٥ أغسطس ٢٠٢٣, ٣:٣٦ م <[email protected]> كتب:
> [email protected] > <https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/protobuf/topics> > Google > Groups > <https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!overview> > <https://groups.google.com/forum/?utm_source=digest&utm_medium=email/#!overview> > Topic digest > View all topics > <https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/protobuf/topics> > > - [java] Alignment trap on armv7a > <#m_-1766717452898826103_group_thread_0> - 1 Update > > [java] Alignment trap on armv7a > <http://groups.google.com/group/protobuf/t/e77bececb9d745a?utm_source=digest&utm_medium=email> > Benjamin Bara <[email protected]>: Aug 25 12:48AM -0700 > > Hi! > > I lately played a little bit around with the Java implementation on armv7a > and recognized a couple of "Alignment traps" in the kernel log, which look > like this: > Alignment trap: java (X) PC=Y Instr=0xe18880d0 Address=0x235b8342 > > The instruction is ldrd r8, sb, [r8, r0], which is "Load Register Dual > (register)" and loads two words (= 64 bit) into registers. A3.2.1 of the > ARMv7a Reference Manual[1] states that this instruction requires > word-alignment. I disassembled my libjvm.so and found that the instruction > occurs only once: Unsafe_getLong(). > > Next I looked into the code and it is quite obvious to me that this > alignment can not be guaranteed with the current implementation. Therefore > my question: do you see a possibility to replace the getLong() on armv7 > with some alignment-friendlier function/insruction - like maybe 2x > getInt()? At least for armv7, this would increase performance as now the > kernel has to fix it, which means quite some overhead. > > Thank you and best regards > Benjamin > > [1] https://developer.arm.com/documentation/ddi0406/latest/ > Back to top <#m_-1766717452898826103_digest_top> > You received this digest because you're subscribed to updates for this > group. You can change your settings on the group membership page > <https://groups.google.com/forum/?utm_source=digest&utm_medium=email#!forum/protobuf/join> > . > To unsubscribe from this group and stop receiving emails from it send an > email to [email protected]. > -- You received this message because you are subscribed to the Google Groups "Protocol Buffers" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/protobuf/CADGNUkiT%3Dbx%3DgOa81FLzihRW0kmK4%3DGfB-rNk4UrK7mdc%2B1%3DRw%40mail.gmail.com.
