Note that WebAssembly far jump tables also read the target address from the code object (see JumpTableAssembler::EmitFarJumpSlot <https://source.chromium.org/chromium/chromium/src/+/main:v8/src/wasm/jump-table-assembler.cc;l=32;drc=ffd9e82dd5dd314bad48ab602517bd378b6d2184>). There is no workaround for that, so if you want to support WebAssembly, you would have to change how the far jump table works on x64.
On Mon, May 31, 2021 at 5:46 PM martin dobrev <martindobr...@gmail.com> wrote: > Looks like this do the job. > > Thank you for the fast response. > > В 8:46:43 ч. UTC+3на понеделник, 31 май 2021 г. jgr...@chromium.org > написа: > >> Yes, running with a non-readable .text section should work. >> Pass --no-partial-constant-pool to disable the mechanism you mentioned >> above. >> >> On Wed, May 26, 2021 at 3:43 PM martin dobrev <martin...@gmail.com> >> wrote: >> >>> Hi, >>> >>> Recently i ported v8 for unix base platform (architecture is x64) where >>> all executable memory is "execute only" => each instruction which try to >>> read from executable memory result in access violation. The problem is >>> that some of the code generated by `torque` needs to read from the code >>> segments . For example Math.floor defined this constant >>> `TNode<Float64T> two_52 = Float64Constant(4503599627370496.0E0);` >>> >>> later used in couple places in function implementation. And `torque` >>> generate following assebly which result in crash, because instuction on >>> '00000000F34A0909' try to read from the code segment. >>> [image: asm.png] >>> >>> Is there a way to force `torque` to generate immediate/direct mov >>> instead of relative one for constants or maybe i can move them in data >>> segments somehow ? >>> >>> -- >>> -- >>> v8-users mailing list >>> v8-u...@googlegroups.com >>> http://groups.google.com/group/v8-users >>> --- >>> You received this message because you are subscribed to the Google >>> Groups "v8-users" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to v8-users+u...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/v8-users/65329c44-c9ed-45be-b600-769260d8a52bn%40googlegroups.com >>> <https://groups.google.com/d/msgid/v8-users/65329c44-c9ed-45be-b600-769260d8a52bn%40googlegroups.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- > -- > v8-users mailing list > v8-users@googlegroups.com > http://groups.google.com/group/v8-users > --- > You received this message because you are subscribed to the Google Groups > "v8-users" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to v8-users+unsubscr...@googlegroups.com. > To view this discussion on the web visit > https://groups.google.com/d/msgid/v8-users/9ec8f5b4-ac7c-4ad1-9a52-7d73819a84a7n%40googlegroups.com > <https://groups.google.com/d/msgid/v8-users/9ec8f5b4-ac7c-4ad1-9a52-7d73819a84a7n%40googlegroups.com?utm_medium=email&utm_source=footer> > . > -- Clemens Backes Software Engineer cleme...@google.com Google Germany GmbH Erika-Mann-Straße 33 80636 München Geschäftsführer: Paul Manicle, Halimah DeLaine Prado Registergericht und -nummer: Hamburg, HRB 86891 Sitz der Gesellschaft: Hamburg Diese E-Mail ist vertraulich. Falls sie diese fälschlicherweise erhalten haben sollten, leiten Sie diese bitte nicht an jemand anderes weiter, löschen Sie alle Kopien und Anhänge davon und lassen Sie mich bitte wissen, dass die E-Mail an die falsche Person gesendet wurde. This e-mail is confidential. If you received this communication by mistake, please don't forward it to anyone else, please erase all copies and attachments, and please let me know that it has gone to the wrong person. -- -- v8-users mailing list v8-users@googlegroups.com http://groups.google.com/group/v8-users --- You received this message because you are subscribed to the Google Groups "v8-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to v8-users+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/v8-users/CAGO%3DqhD2CLENVewZUSXUEnq_%2BeM70FsdU9fcGi5Hbkw3WLpRbA%40mail.gmail.com.