| Package | Description |
|---|---|
| org.jruby.ext.ffi | |
| org.jruby.ext.ffi.jffi |
| Modifier and Type | Class and Description |
|---|---|
class |
ArrayMemoryIO |
class |
FreedMemoryIO |
class |
InvalidMemoryIO
An implementation of MemoryIO that throws an exception on any access.
|
class |
NullMemoryIO
An implementation of MemoryIO that throws an exception on any access.
|
class |
SwappedMemoryIO |
| Modifier and Type | Field and Description |
|---|---|
private MemoryIO |
SwappedMemoryIO.io |
private MemoryIO |
MemoryObject.memory
The Memory I/O object
|
| Modifier and Type | Method and Description |
|---|---|
abstract MemoryIO |
Factory.allocateDirectMemory(Ruby runtime,
int size,
boolean clear)
Allocates memory on the native C heap and wraps it in a MemoryIO accessor.
|
MemoryIO |
NoImplFactory.allocateDirectMemory(Ruby runtime,
int size,
boolean clear) |
abstract MemoryIO |
Factory.allocateDirectMemory(Ruby runtime,
int size,
int align,
boolean clear)
Allocates memory on the native C heap and wraps it in a MemoryIO accessor.
|
MemoryIO |
NoImplFactory.allocateDirectMemory(Ruby runtime,
int size,
int align,
boolean clear) |
protected MemoryIO |
AbstractMemory.allocateMemoryIO() |
protected abstract MemoryIO |
MemoryObject.allocateMemoryIO() |
protected MemoryIO |
Struct.allocateMemoryIO() |
private static MemoryIO |
Buffer.allocateMemoryIO(Ruby runtime,
int size) |
abstract MemoryIO |
Factory.allocateTransientDirectMemory(Ruby runtime,
int size,
int align,
boolean clear)
Allocates transient native memory (not from C heap) and wraps it in a MemoryIO accessor.
|
MemoryIO |
NoImplFactory.allocateTransientDirectMemory(Ruby runtime,
int size,
int align,
boolean clear) |
MemoryIO |
InvalidMemoryIO.dup() |
abstract MemoryIO |
MemoryIO.dup()
Duplicates this MemoryIO, including its contents.
|
MemoryIO |
MemoryObject.getMemoryIO()
Gets the memory I/O accessor to read/write to the memory area.
|
MemoryIO |
ArrayMemoryIO.getMemoryIO(long offset) |
MemoryIO |
InvalidMemoryIO.getMemoryIO(long offset) |
abstract MemoryIO |
MemoryIO.getMemoryIO(long offset)
Reads a pointer value at the specified offset within the memory area, and
wraps it in an abstract memory accessor.
|
MemoryIO |
SwappedMemoryIO.getMemoryIO(long offset) |
private MemoryIO |
MemoryObject.initMemoryIO() |
protected MemoryIO |
MemoryObject.setMemoryIO(MemoryIO memory)
Replaces the native memory object backing this ruby memory object
|
MemoryIO |
InvalidMemoryIO.slice(long offset) |
abstract MemoryIO |
MemoryIO.slice(long offset)
Creates a new MemoryIO pointing to a subset of the memory area of this
MemoryIO.
|
MemoryIO |
InvalidMemoryIO.slice(long offset,
long size) |
abstract MemoryIO |
MemoryIO.slice(long offset,
long size)
Creates a new MemoryIO pointing to a subset of the memory area of this
MemoryIO.
|
abstract MemoryIO |
Factory.wrapDirectMemory(Ruby runtime,
long address)
Wraps a native C memory address in a MemoryIO accessor.
|
MemoryIO |
NoImplFactory.wrapDirectMemory(Ruby runtime,
long address) |
| Modifier and Type | Method and Description |
|---|---|
(package private) abstract IRubyObject |
MemoryOp.PrimitiveOp.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.BooleanOp.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed8.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned8.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed16.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed16Swapped.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned16.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned16Swapped.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed32.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed32Swapped.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned32.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned32Swapped.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed64.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Signed64Swapped.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned64.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Unsigned64Swapped.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Float32.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.Float64.get(Ruby runtime,
MemoryIO io,
long offset) |
IRubyObject |
MemoryOp.PointerOp.get(Ruby runtime,
MemoryIO io,
long offset) |
(package private) abstract IRubyObject |
MemoryOp.get(ThreadContext context,
MemoryIO io,
long offset) |
(package private) IRubyObject |
MemoryOp.PrimitiveOp.get(ThreadContext context,
MemoryIO io,
long offset) |
(package private) IRubyObject |
MemoryOp.StructOp.get(ThreadContext context,
MemoryIO io,
long offset) |
(package private) IRubyObject |
MemoryOp.Mapped.get(ThreadContext context,
MemoryIO io,
long offset) |
(package private) IRubyObject |
StructLayout.MultiDimensionArrayOp.get(ThreadContext context,
MemoryIO io,
long offset) |
static IRubyObject |
MemoryUtil.getArrayOfFloat32(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfFloat64(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfSigned16(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfSigned32(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfSigned64(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfSigned8(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfUnsigned16(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfUnsigned32(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfUnsigned64(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static IRubyObject |
MemoryUtil.getArrayOfUnsigned8(Ruby runtime,
MemoryIO io,
long offset,
int count) |
static RubyString |
MemoryUtil.getTaintedByteString(Ruby runtime,
MemoryIO io,
long offset,
int length)
Reads a byte (binary) string from a memory object.
|
static IRubyObject |
MemoryUtil.getTaintedString(Ruby runtime,
MemoryIO io,
long offset)
Gets a NUL terminated string from a memory object
|
static IRubyObject |
MemoryUtil.getTaintedString(Ruby runtime,
MemoryIO io,
long offset,
int length)
Reads a NUL terminated string from a memory object
|
(package private) abstract void |
MemoryOp.PrimitiveOp.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.BooleanOp.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed8.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned8.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed16.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed16Swapped.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned16.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned16Swapped.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed32.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed32Swapped.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned32.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned32Swapped.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed64.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Signed64Swapped.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned64.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Unsigned64Swapped.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Float32.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.Float64.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
void |
MemoryOp.PointerOp.put(Ruby runtime,
MemoryIO io,
long offset,
IRubyObject value) |
(package private) abstract void |
MemoryOp.put(ThreadContext context,
MemoryIO io,
long offset,
IRubyObject value) |
(package private) void |
MemoryOp.PrimitiveOp.put(ThreadContext context,
MemoryIO io,
long offset,
IRubyObject value) |
(package private) void |
MemoryOp.StructOp.put(ThreadContext context,
MemoryIO io,
long offset,
IRubyObject value) |
(package private) void |
MemoryOp.Mapped.put(ThreadContext context,
MemoryIO io,
long offset,
IRubyObject value) |
(package private) void |
StructLayout.MultiDimensionArrayOp.put(ThreadContext context,
MemoryIO io,
long offset,
IRubyObject value) |
static void |
MemoryUtil.putArrayOfFloat32(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfFloat64(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfSigned16(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfSigned32(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfSigned64(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfSigned8(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfUnsigned16(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfUnsigned32(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfUnsigned64(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
static void |
MemoryUtil.putArrayOfUnsigned8(Ruby runtime,
MemoryIO io,
long offset,
RubyArray ary) |
void |
ArrayMemoryIO.putMemoryIO(long offset,
MemoryIO value) |
void |
InvalidMemoryIO.putMemoryIO(long offset,
MemoryIO value) |
abstract void |
MemoryIO.putMemoryIO(long offset,
MemoryIO value)
Writes a pointer value to the memory area at the specified offset.
|
void |
SwappedMemoryIO.putMemoryIO(long offset,
MemoryIO value) |
protected MemoryIO |
MemoryObject.setMemoryIO(MemoryIO memory)
Replaces the native memory object backing this ruby memory object
|
| Constructor and Description |
|---|
AbstractInvoker(Ruby runtime,
RubyClass klass,
int arity,
MemoryIO io)
Creates a new AbstractInvoker instance.
|
AbstractMemory(Ruby runtime,
RubyClass klass,
MemoryIO io,
long size) |
AbstractMemory(Ruby runtime,
RubyClass klass,
MemoryIO io,
long size,
int typeSize) |
Buffer(Ruby runtime,
IRubyObject klass,
MemoryIO io,
long size,
int typeSize,
int inout) |
MemoryPointer(Ruby runtime,
IRubyObject klass,
MemoryIO io,
long total,
int typeSize) |
Pointer(Ruby runtime,
MemoryIO io) |
Pointer(Ruby runtime,
MemoryIO io,
long size,
int typeSize) |
Pointer(Ruby runtime,
RubyClass klass,
MemoryIO io) |
Pointer(Ruby runtime,
RubyClass klass,
MemoryIO io,
long size) |
Pointer(Ruby runtime,
RubyClass klass,
MemoryIO io,
long size,
int typeSize) |
SwappedMemoryIO(Ruby runtime,
MemoryIO io) |
| Modifier and Type | Class and Description |
|---|---|
(package private) class |
AllocatedNativeMemoryIO |
(package private) class |
BoundedNativeMemoryIO |
(package private) static class |
CachingNativeMemoryAllocator.AllocatedMemoryIO |
(package private) class |
CallbackMemoryIO
An implementation of MemoryIO that throws exceptions on any attempt to read/write
the callback memory area (which is code).
|
class |
CodeMemoryIO
Representation of code (executable) memory blocks
|
private static class |
DynamicLibrary.DataSymbolMemoryIO
Small MemoryIO wrapper class to keep the library alive
|
private static class |
DynamicLibrary.TextSymbolMemoryIO
Since the text area of a dynamic library is usually not readable nor writable,
wrap the address in a MemoryIO instance that throws an exception on all accesses
|
(package private) class |
NativeMemoryIO |
(package private) static class |
NilPointerParameterStrategy.NullMemoryIO |
(package private) class |
TransientNativeMemoryIO |
| Modifier and Type | Field and Description |
|---|---|
(package private) static MemoryIO |
NilPointerParameterStrategy.NullMemoryIO.INSTANCE |
(package private) MemoryIO |
NativeStringHandle.memory |
(package private) MemoryIO |
BoundedNativeMemoryIO.parent |
| Modifier and Type | Method and Description |
|---|---|
(package private) static MemoryIO |
CachingNativeMemoryAllocator.allocateAligned(Ruby runtime,
int size,
int align,
boolean clear)
Allocates native memory, aligned to a minimum boundary.
|
(package private) static MemoryIO |
TransientNativeMemoryIO.allocateAligned(Ruby runtime,
int size,
int align,
boolean clear)
Allocates native memory, aligned to a minimum boundary.
|
MemoryIO |
Factory.allocateDirectMemory(Ruby runtime,
int size,
boolean clear)
Allocates memory on the native C heap and wraps it in a MemoryIO accessor.
|
MemoryIO |
Factory.allocateDirectMemory(Ruby runtime,
int size,
int align,
boolean clear)
Allocates memory on the native C heap and wraps it in a MemoryIO accessor.
|
MemoryIO |
Factory.allocateTransientDirectMemory(Ruby runtime,
int size,
int align,
boolean clear) |
private static MemoryIO |
JITRuntime.convertToPointerMemoryIO(IRubyObject parameter) |
static MemoryIO |
JITRuntime.convertToPointerMemoryIO(ThreadContext context,
IRubyObject parameter,
CachingCallSite callSite) |
static MemoryIO |
JITRuntime.convertToStringMemoryIO(IRubyObject parameter,
ThreadContext context,
CachingCallSite callSite) |
private static MemoryIO |
JITRuntime.convertToStringMemoryIO(IRubyObject parameter,
ThreadContext context,
CachingCallSite callSite,
boolean isDirect,
boolean checkStringSafety) |
static MemoryIO |
JITRuntime.convertToTransientStringMemoryIO(IRubyObject parameter,
ThreadContext context,
CachingCallSite callSite) |
MemoryIO |
BoundedNativeMemoryIO.dup() |
MemoryIO |
NativeMemoryIO.dup() |
MemoryIO |
NilPointerParameterStrategy.NullMemoryIO.dup() |
MemoryIO |
BoundedNativeMemoryIO.getMemoryIO(long offset) |
MemoryIO |
NativeMemoryIO.getMemoryIO(long offset) |
MemoryIO |
NilPointerParameterStrategy.NullMemoryIO.getMemoryIO(long offset) |
MemoryIO |
DelegatingPointerParameterStrategy.getMemoryIO(java.lang.Object parameter) |
MemoryIO |
MemoryIOParameterStrategy.getMemoryIO(java.lang.Object parameter) |
MemoryIO |
MemoryObjectParameterStrategy.getMemoryIO(java.lang.Object parameter) |
MemoryIO |
NilPointerParameterStrategy.getMemoryIO(java.lang.Object parameter) |
abstract MemoryIO |
PointerParameterStrategy.getMemoryIO(java.lang.Object parameter) |
MemoryIO |
StringParameterStrategy.getMemoryIO(java.lang.Object parameter) |
(package private) static MemoryIO |
StringParameterStrategy.getMemoryIO(RubyString s,
boolean isDirect,
boolean checkStringSafety) |
static MemoryIO |
JITRuntime.getPointerMemoryIO(IRubyObject parameter) |
static MemoryIO |
JITRuntime.lookupPointerMemoryIO(IRubyObject parameter) |
MemoryIO |
NilPointerParameterStrategy.NullMemoryIO.slice(long offset) |
MemoryIO |
NativeMemoryIO.slice(long offset,
long size) |
MemoryIO |
NilPointerParameterStrategy.NullMemoryIO.slice(long offset,
long size) |
(package private) static MemoryIO |
NativeMemoryIO.wrap(Ruby runtime,
long address) |
MemoryIO |
Factory.wrapDirectMemory(Ruby runtime,
long address) |
| Modifier and Type | Method and Description |
|---|---|
static PointerParameterStrategy |
JITRuntime.getMemoryIOStrategy(MemoryIO memory) |
void |
BoundedNativeMemoryIO.putMemoryIO(long offset,
MemoryIO value) |
void |
NativeMemoryIO.putMemoryIO(long offset,
MemoryIO value) |
void |
NilPointerParameterStrategy.NullMemoryIO.putMemoryIO(long offset,
MemoryIO value) |
| Constructor and Description |
|---|
BoundedNativeMemoryIO(Ruby runtime,
MemoryIO parent,
long offset,
long size) |
Function(Ruby runtime,
RubyClass klass,
MemoryIO address,
NativeFunctionInfo functionInfo,
IRubyObject enums) |
Function(Ruby runtime,
RubyClass klass,
MemoryIO address,
Type returnType,
Type[] parameterTypes,
com.kenai.jffi.CallingConvention convention,
IRubyObject enums,
boolean saveError) |
JFFIInvoker(Ruby runtime,
RubyClass klass,
MemoryIO fptr,
Type returnType,
Type[] parameterTypes,
com.kenai.jffi.CallingConvention convention,
IRubyObject enums) |
NativeStringHandle(MemoryIO memory,
org.jruby.util.ByteList bl) |
Symbol(Ruby runtime,
DynamicLibrary library,
java.lang.String name,
MemoryIO io) |