Documentation
¶
Index ¶
- Constants
- Variables
- func CallBlock(args ...*object.EmeraldValue) *object.EmeraldValue
- func CallBlockOne(arg *object.EmeraldValue) *object.EmeraldValue
- func CompactObjectLayoutsEnabled() bool
- func SourceChillsStringLiterals(source string) bool
- func SourceFreezesStringLiterals(source string) bool
- type ActiveRescue
- type CatchHandler
- type Frame
- type PendingEnsure
- type RescueHandler
- type VM
- func (vm *VM) GetAllResults() []*object.EmeraldValue
- func (vm *VM) GetCurrentBlock() *object.EmeraldValue
- func (vm *VM) LastPoppedStackElement() *object.EmeraldValue
- func (vm *VM) PreloadSource(source, path string) *object.EmeraldValue
- func (vm *VM) Run() error
- func (vm *VM) SetChillStringLiterals(enabled bool)
- func (vm *VM) SetFreezeStringLiterals(enabled bool)
- func (vm *VM) SetInstructionLimit(limit uint64)
- func (vm *VM) SetProgramName(name string)
- func (vm *VM) SetTopLevelConstant(name string, value *object.EmeraldValue)
- func (vm *VM) UnhandledException() *object.EmeraldValue
Constants ¶
View Source
const MaxFrames = 1024
View Source
const StackSize = 2048
Variables ¶
View Source
var DevMode = os.Getenv("RGO_DEV") == "1"
Functions ¶
func CallBlock ¶
func CallBlock(args ...*object.EmeraldValue) *object.EmeraldValue
func CallBlockOne ¶
func CallBlockOne(arg *object.EmeraldValue) *object.EmeraldValue
func CompactObjectLayoutsEnabled ¶
func CompactObjectLayoutsEnabled() bool
Compact object layouts are a closed-world optimization owned by the object package. Keep the VM-side check in one place so child VMs can share the same allocation arena without duplicating the environment policy.
Types ¶
type ActiveRescue ¶
type CatchHandler ¶
type Frame ¶
type Frame struct {
ID int
Fn *object.Function
Ip int
Bp int
Closure *object.Closure
MethodName string
OriginalMethodName string
LabelName string
SuperStart *object.Class
SuperModule *object.Module
SuperAfterClass bool
Args []*object.EmeraldValue
Block *object.EmeraldValue
DefinedByDefineMethod bool
IsLambda bool
CapturedBindings []*object.RBinding
ClosureBindingSite int
ClosureBinding *object.RBinding
ClosureBindings map[int]*object.RBinding
CapturedLocalValues []*object.EmeraldValue
TraceSelf *object.EmeraldValue
TraceDefinedClass *object.EmeraldValue
TraceMethodID string
TraceCalleeID string
TraceParameters *object.EmeraldValue
BacktraceReceiver *object.EmeraldValue
BacktraceMethod *object.Method
BacktraceOwner *object.Class
InstructionException *object.EmeraldValue
InstructionSnapshotSet bool
SendArgStorage [4]*object.EmeraldValue
BlockBreakAddr int
WhileStart int
WhileEnd int
BlockBreak bool
BlockBreakVal *object.EmeraldValue
BlockNextVal *object.EmeraldValue
Returned bool
TraceLine int64
ExecutionLine int64
RetryRescue *ActiveRescue
// contains filtered or unexported fields
}
type PendingEnsure ¶
type PendingEnsure struct {
EnsureEndOffset int
Frame *Frame
Exception *object.EmeraldValue
PreviousException *object.EmeraldValue
ReturnValue *object.EmeraldValue
IsReturn bool
IsBreak bool
IsNext bool
IsRedo bool
IsThrow bool
ThrowHandler *CatchHandler
BreakTarget int
}
type RescueHandler ¶
type VM ¶
type VM struct {
// contains filtered or unexported fields
}
var CurrentVM *VM
func (*VM) GetAllResults ¶
func (vm *VM) GetAllResults() []*object.EmeraldValue
func (*VM) GetCurrentBlock ¶
func (vm *VM) GetCurrentBlock() *object.EmeraldValue
func (*VM) LastPoppedStackElement ¶
func (vm *VM) LastPoppedStackElement() *object.EmeraldValue
func (*VM) PreloadSource ¶
func (vm *VM) PreloadSource(source, path string) *object.EmeraldValue
func (*VM) SetChillStringLiterals ¶
func (*VM) SetFreezeStringLiterals ¶
func (*VM) SetInstructionLimit ¶
SetInstructionLimit bounds the number of bytecode instructions executed by one Run call. A zero limit, the production default, means unlimited.
func (*VM) SetProgramName ¶
func (*VM) SetTopLevelConstant ¶
func (vm *VM) SetTopLevelConstant(name string, value *object.EmeraldValue)
func (*VM) UnhandledException ¶
func (vm *VM) UnhandledException() *object.EmeraldValue
Source Files
¶
- executor.go
- native_pdf_constructor.go
- native_pdf_dispatch.go
- native_pdf_document.go
- native_pdf_object.go
- native_pdf_render_region.go
- native_pdf_renderer.go
- native_pdf_store.go
- native_pdf_stream.go
- native_pdf_times_region.go
- native_prawn_constructor.go
- native_prawn_font.go
- native_prawn_lifecycle_region.go
- native_prawn_page.go
- native_prawn_simple.go
- native_prawn_text.go
- native_prawn_text_region.go
- pattern.go
- register_ir.go
- typed_array_literal.go
- typed_hash.go
- typed_hash_call.go
- typed_hot_array.go
- typed_hot_function.go
- typed_hot_times.go
- typed_integer_block.go
- typed_integer_method.go
- typed_integer_times.go
- typed_primitive_plan.go
- typed_reference_loop.go
- typed_ssa.go
- typed_ssa_batch.go
- typed_string_loop.go
- typed_times_string.go
Click to show internal directories.
Click to hide internal directories.