These are needed for subroutine inlining.

Signed-off-by: Tomek Grabiec <tgrab...@gmail.com>
---
 include/vm/bytecode.h |    6 ++++++
 vm/bytecode.c         |   29 +++++++++++++++++++++++++++++
 2 files changed, 35 insertions(+), 0 deletions(-)

diff --git a/include/vm/bytecode.h b/include/vm/bytecode.h
index 23c047a..ef5e342 100644
--- a/include/vm/bytecode.h
+++ b/include/vm/bytecode.h
@@ -22,4 +22,10 @@ uint16_t read_u16(const unsigned char *p);
 int32_t read_s32(const unsigned char *p);
 uint32_t read_u32(const unsigned char *p);
 
+void write_u8(unsigned char *p, uint8_t value);
+void write_s16(unsigned char *p, int16_t value);
+void write_u16(unsigned char *p, uint16_t value);
+void write_s32(unsigned char *p, int32_t value);
+void write_u32(unsigned char *p, uint32_t value);
+
 #endif
diff --git a/vm/bytecode.c b/vm/bytecode.c
index 9b2cedf..9b914cc 100644
--- a/vm/bytecode.c
+++ b/vm/bytecode.c
@@ -113,3 +113,32 @@ uint32_t read_u32(const unsigned char *p)
 
        return result;
 }
+
+void write_u8(unsigned char *p, uint8_t value)
+{
+       *p = value;
+}
+
+void write_u16(unsigned char *p, uint16_t value)
+{
+       write_u8(p + 0, (value >> 8) & 0xff);
+       write_u8(p + 1, value & 0xff);
+}
+
+void write_u32(unsigned char *p, uint32_t value)
+{
+       write_u8(p + 0, (value >> 24) & 0xff);
+       write_u8(p + 1, (value >> 16) & 0xff);
+       write_u8(p + 2, (value >> 8) & 0xff);
+       write_u8(p + 3, value & 0xff);
+}
+
+void write_s16(unsigned char *p, int16_t value)
+{
+       write_u16(p, (uint16_t) value);
+}
+
+void write_s32(unsigned char *p, int32_t value)
+{
+       write_u32(p, (uint32_t) value);
+}
-- 
1.6.0.6


------------------------------------------------------------------------------
Enter the BlackBerry Developer Challenge  
This is your chance to win up to $100,000 in prizes! For a limited time, 
vendors submitting new applications to BlackBerry App World(TM) will have
the opportunity to enter the BlackBerry Developer Challenge. See full prize  
details at: http://p.sf.net/sfu/Challenge
_______________________________________________
Jatovm-devel mailing list
Jatovm-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/jatovm-devel

Reply via email to