Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-27 Thread Malek Musleh
I'll focus on using the built in v8 simulator. I'm primarily interested in the instruction trace of the runtime when handling an IC miss. Can you specify how I can see the arm dissembly produced by the arm simulator? You said the arm simulator gets built automatically when not running on an arm

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-27 Thread Rodolph Perfetta
Your instrumentation function will likely crash wherever you call it from. The issue is that you cannot thrash lr at random as it likely contains the return address of your function. Once you fixed your magic instruction behaviour, the simplest way to add an instruction in the emitted code is to

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-27 Thread Rodolph Perfetta
If you are using release d8 then you need to add the disassembler to get the trace. make arm.release disassembler=on On 27 February 2015 at 16:43, Malek Musleh malek.mus...@gmail.com wrote: I'll focus on using the built in v8 simulator. I'm primarily interested in the instruction trace of the

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-27 Thread Malek Musleh
Yes, that sounds correct. It seems that I should be 1) instrumenting the generated code, or at least have 2) the magic instruction be generated along with the rest of the generated code. I tried to move up the call one level to CallIC::handleMiss in v8/src/ic/ic.cc, but that causes a seg fault

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-27 Thread Jakob Kummerow
On Fri, Feb 27, 2015 at 11:19 PM, Malek Musleh malek.mus...@gmail.com wrote: ok, that works for seeing the native dissambly. 1) But how do I enable use of the arm simulator? I see simulator related options (.e.g --trace_sim) but that doesn't seem to do anything in terms of simulating the

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-27 Thread Malek Musleh
ok, that works for seeing the native dissambly. 1) But how do I enable use of the arm simulator? I see simulator related options (.e.g --trace_sim) but that doesn't seem to do anything in terms of simulating the program execution under an arm platform. 2) Is it possible to see the assembly code

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-26 Thread Rodolph Perfetta
So m5_enableDebugFlag is a function which contains your special instruction followed by a mov pc, lr (standard return). I can see two issues: * your special instruction change lr where the return address is stored so your function will not return where it should. This is likely the cause for your

[v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-26 Thread Malek Musleh
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

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-26 Thread Malek Musleh
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

Re: [v8-users] Add recognition of unused Arm opcode to prevent runtime error

2015-02-26 Thread Rodolph Perfetta
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