Memory.hx 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061
  1. package flash;
  2. extern class Memory {
  3. public static inline function select( b : flash.utils.ByteArray ) : Void {
  4. flash.system.ApplicationDomain.currentDomain.domainMemory = b;
  5. }
  6. public static inline function setByte( addr : Int, v : Int ) : Void {
  7. untyped __vmem_set__(0,addr,v);
  8. }
  9. public static inline function setI16( addr : Int, v : Int ) : Void {
  10. untyped __vmem_set__(1,addr,v);
  11. }
  12. public static inline function setI32( addr : Int, v : Int ) : Void {
  13. untyped __vmem_set__(2,addr,v);
  14. }
  15. public static inline function setFloat( addr : Int, v : Float ) : Void {
  16. untyped __vmem_set__(3,addr,v);
  17. }
  18. public static inline function setDouble( addr : Int, v : Float ) : Void {
  19. untyped __vmem_set__(4,addr,v);
  20. }
  21. public static inline function getByte( addr : Int ) : Int {
  22. return untyped __vmem_get__(0,addr);
  23. }
  24. public static inline function getUI16( addr : Int ) : Int {
  25. return untyped __vmem_get__(1,addr);
  26. }
  27. public static inline function getI32( addr : Int ) : Int {
  28. return untyped __vmem_get__(2,addr);
  29. }
  30. public static inline function getFloat( addr : Int ) : Float {
  31. return untyped __vmem_get__(3,addr);
  32. }
  33. public static inline function getDouble( addr : Int ) : Float {
  34. return untyped __vmem_get__(4,addr);
  35. }
  36. public static inline function signExtend1( v : Int ) : Int {
  37. return untyped __vmem_sign__(0,v);
  38. }
  39. public static inline function signExtend8( v : Int ) : Int {
  40. return untyped __vmem_sign__(1,v);
  41. }
  42. public static inline function signExtend16( v : Int ) : Int {
  43. return untyped __vmem_sign__(2,v);
  44. }
  45. }