|
From: 林作健 <man...@gm...> - 2015-03-30 15:59:28
|
Hi,
I am trying to make up a arm-linux-androideabi vm using libVEX. And I
have to do a bit of modification.
Statements like Ist_StoreG, I have to add Xin_StoreG for isel, and code
emit.
And expressions like Iop_GetElem32X2, I have to handle it correctly in isel.
Some tricky arm instruction like LLSC(ldrex, strex), I have to add new
helper functions. And these functions involve hash table data structure.
Because the addresses have to store in { address, tid } pair. So my help
functions use c++ 11 unordered_map. But as for the mutex, I may discard
pthread_mutex eventually, and use gcc atomic operations to implement a spin
lock instead.
After my job is done, should I post my patch to libVEX? I don't think any
one like it, because c++11 unordered_map involved . Implementing a C hash
table? Maybe glib GHashtable? Maybe an option.
What is a arm-linux-andriodeabi vm? Look at intel's libhoudini. That is
what it is. Just Google it .
--
Lin Zuojian
|
|
From: Julian S. <js...@ac...> - 2015-03-31 17:45:43
|
On 30/03/15 17:59, 林作健 wrote: > After my job is done, should I post my patch to libVEX? I don't think any > one like it, because c++11 unordered_map involved . Implementing a C hash > table? Maybe glib GHashtable? Maybe an option. I think you should make your patch available. Even if not all parts are good, maybe there might be something useful to take. I would be interested to hear about your experiences using VEX for binary translation. > What is a arm-linux-andriodeabi vm? Look at intel's libhoudini. That is > what it is. Just Google it . Are you trying to make a replacement of libhoudini, or something else? I didn't understand what you are trying to do here. J |
|
From: 林作健 <man...@gm...> - 2015-04-01 02:03:14
|
I am trying to replace libhoudini, which has poor compatibility. And my translation library has been able to run many apps, but has very poor performance. And I think it is not result in libVEX, but my arm-x86 abi translation layer, which always memcpy 512 bytes for parameters. 2015-04-01 1:45 GMT+08:00 Julian Seward <js...@ac...>: > On 30/03/15 17:59, 林作健 wrote: > > After my job is done, should I post my patch to libVEX? I don't think any > > one like it, because c++11 unordered_map involved . Implementing a C hash > > table? Maybe glib GHashtable? Maybe an option. > > I think you should make your patch available. Even if not all parts are > good, maybe there might be something useful to take. > > I would be interested to hear about your experiences using VEX for binary > translation. > > > What is a arm-linux-andriodeabi vm? Look at intel's libhoudini. That is > > what it is. Just Google it . > > Are you trying to make a replacement of libhoudini, or something else? > I didn't understand what you are trying to do here. > > J > > |
|
From: lin z. <man...@gm...> - 2015-04-15 10:05:50
Attachments:
4.patch
|
Hi,
Here my current patch to libVEX. And not It can translate most arm
code, exception vfp ones. Please tell me if they are useful.
Comparing to libhoudini, my implementation is not as good when float
point instr met. But other integer part works well.
---
lin zuojian
|