vmm

package
v0.0.0-...-9dcd13a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jul 26, 2017 License: MIT Imports: 2 Imported by: 0

Documentation

Overview

Package vmm - Emacs Lisp "virtual machine model".

Provides various kinds of information about execution environment which is useful for optimizations and code generation.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func FuncIsThrowing

func FuncIsThrowing(name string) bool

FuncIsThrowing returns true if function with given name is known to be "throwing" (interrupts normal execution flow).

func InstrCallCost

func InstrCallCost(name string) int

InstrCallCost returns special function call cost. Zero value means that function has no dedicated instruction available.

Types

type StructRepr

type StructRepr int

StructRepr specifies runtime object representation (data layout).

const (
	// StructEmpty - zero size object.
	StructEmpty StructRepr = iota
	// StructUnit - single attribute struct.
	// Represented as (cons X nil).
	StructUnit
	// StructCons - struct of [2, consReprThreshold] attributes.
	// Represented as improper list (chained conses).
	StructCons
	// StructVec - struct which has more that consReprThreshold+1 attributes.
	// Represented as vector.
	StructVec
)

func StructReprOf

func StructReprOf(typ *types.Struct) StructRepr

StructReprOf returns enumeration that describes object representation.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL