Hi Rudolph, Yes, I have been able to run a clean version of v8 on this other ARM simulator (gem5). I added support to the gem5 simulator to handle this unused opcode.
I think it might be your second suggestion. In one of my instrumentations, I inserted the function after a __Push(), where in other places I placed it at the top of the function body. Inside KeyedStoreIC and StoreIC::Generate Miss() void KeyedStoreIC::GenerateMiss(MacroAssembler* masm) { // Push receiver, key and value for runtime call. __ Push(StoreDescriptor::ReceiverRegister(), StoreDescriptor::NameRegister(), StoreDescriptor::ValueRegister()); // start pipeline viewer tracing m5_enableDebugFlag(); ExternalReference ref = ExternalReference(IC_Utility(kKeyedStoreIC_Miss), masm->isolate()); __ TailCallExternalReference(ref, 3, 1); Would placing it after the __Push() cause some corruption on the stack? Separately, I could not find documentation on how to use/run the built-in arm simulator of v8. Can you provide an example? On Thu, Feb 26, 2015 at 2:46 PM, Rodolph Perfetta <rodolph.perfe...@gmail.com> wrote: > If I understood correctly you are using a modified arm simulator (not the V8 > built-in one) to run V8, and this simulator returns "illegal instruction". > V8 does not trap illegal instructions so the options I can think of: > * your ARM simulator does not support ARMv7 with VFP, which is a > requirement for V8 > * your modification to V8 are corrupting code generation and the pc end up > in some data. > Did you try running the test on a clean version of V8? > > Rodolph. > > On 26 February 2015 at 16:17, Malek Musleh <malek.mus...@gmail.com> wrote: >> >> Hi, >> >> I've instrumented parts of the v8 source code to call a function from an >> external library, and have been able to get it compiled successfully, but am >> running into issues at runtime. Specifically, I am running v8 inside an arm >> simulator, and the instrumentation calls I added are recognized by the arm >> simulator (i extend ununsed opcode for functionality). However, at runtime I >> get the v8 error printed to my simulated terminal. >> >> /tmp/script: line 13: 3207 Illegal instruction >> /system/v8/arm.release/shell run-deltablue.js >> >> >> I suspect that because the instrumented call is getting compiled down to >> the unused opcode, v8 doesn't recognize it and traps. I've grepped through >> the source code, but couldn't find where it traps based on an illegal >> instruction. When encountering this specific opcode of my instrumented >> calls, I want to simply return and not exit out of the run. >> >> >> Thanks, >> >> Malek >> >> -- >> -- >> 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. >> For more options, visit https://groups.google.com/d/optout. > > > -- > -- > v8-users mailing list > v8-users@googlegroups.com > http://groups.google.com/group/v8-users > --- > You received this message because you are subscribed to a topic in the > Google Groups "v8-users" group. > To unsubscribe from this topic, visit > https://groups.google.com/d/topic/v8-users/yIwVNMf060A/unsubscribe. > To unsubscribe from this group and all its topics, send an email to > v8-users+unsubscr...@googlegroups.com. > For more options, visit https://groups.google.com/d/optout. -- -- 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. For more options, visit https://groups.google.com/d/optout.