view release on metacpan or search on metacpan
libjit/attic/jit-apply-alpha.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "jit-internal.h"
#if defined(__alpha) || defined(__alpha__)
#include "jit-gen-alpha.h"
void _jit_create_closure(unsigned char *buf, void *func, void *closure, void *_type) {
alpha_inst inst = (alpha_inst) buf;
libjit/attic/jit-apply-alpha.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_APPLY_ALPHA_H
#define _JIT_APPLY_ALPHA_H
/*
* The maximum number of bytes that are needed to represent a closure,
* and the alignment to use for the closure.
*/
#define jit_closure_size (35 /* instructions */ * 4 /* bytes per instruction */)
libjit/attic/jit-gen-alpha.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_GEN_ALPHA_H
#define _JIT_GEN_ALPHA_H
#include "jit-rules.h"
#ifdef __cplusplus
extern "C" {
#endif
libjit/attic/jit-rules-alpha.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "jit-internal.h"
#include "jit-rules.h"
#include "jit-apply-rules.h"
#if defined(JIT_BACKEND_ALPHA)
#include "jit-elf-defs.h"
#include "jit-gen-alpha.h"
libjit/attic/jit-rules-alpha.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_RULES_ALPHA_H
#define _JIT_RULES_ALPHA_H
#ifdef __cplusplus
extern "C" {
#endif
/*
libjit/attic/jit-rules-alpha.ins view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
%inst_type alpha_inst
%regclass reg alpha_reg
%regclass lreg alpha_reg
%regclass freg alpha_freg
/*
* Conversion opcodes.
libjit/doc/extract-docs.sh view on Meta::CPAN
# as published by the Free Software Foundation, either version 2.1 of
# the License, or (at your option) any later version.
#
# The libjit library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with the libjit library. If not, see
# <http://www.gnu.org/licenses/>.
in_doc=false
echo ''
echo "@c Extracted automatically from $1 - DO NOT EDIT"
echo ''
while read LINE ; do
case "$LINE" in
/\*@*) in_doc=true ;;
@\*/*) echo ''
in_doc=false ;;
libjit/doc/libjit.3 view on Meta::CPAN
.\" as published by the Free Software Foundation, either version 2.1 of
.\" the License, or (at your option) any later version.
.\"
.\" The libjit library is distributed in the hope that it will be useful,
.\" but WITHOUT ANY WARRANTY; without even the implied warranty of
.\" MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
.\" Lesser General Public License for more details.
.\"
.\" You should have received a copy of the GNU Lesser General Public
.\" License along with the libjit library. If not, see
.\" <http://www.gnu.org/licenses/>.
.TH libjit 3 "18 April 2004" "Southern Storm Software" "Just-In-Time Compiler Library"
.SH NAME
libjit \- Just-In-Time Compiler Library
.SH SYNOPSIS
.B #include <jit/jit.h>
Link with
.B -ljit
.SH DESCRIPTION
The \fBlibjit\fR library has an extensive set of routines that takes care
libjit/doc/mangling_rules.txt view on Meta::CPAN
<template-prefix> ::= <prefix> <template component>
::= <substitution>
<unqualified-name> ::= <operator-name>
::= <special-name>
::= <source-name>
<source-name> ::= </length/ number> <identifier>
<number> ::= [n] </decimal integer/>
<identifier> ::= </unqualified source code identifier>
<special-name> ::= C1 # complete object constructor
::= C2 # base object constructor
::= C3 # complete object allocating constructor
::= D0 # deleting (in-charge) destructor
::= D1 # complete object (in-charge) destructor
::= D2 # base object (not-in-charge) destructor
::= CT <type> <offset number> _ <base type>
libjit/dpas/dpas-builtin.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
#include <stdio.h>
#include <stdlib.h>
/*
* Functions for writing values to stdout.
*/
static void dpas_write_ln(void)
libjit/dpas/dpas-function.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
static jit_context_t current_context;
static jit_function_t *function_stack = 0;
static int function_stack_size = 0;
static jit_function_t *main_list = 0;
static int main_list_size = 0;
libjit/dpas/dpas-internal.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _DPAS_INTERNAL_H
#define _DPAS_INTERNAL_H
#include <jit/jit.h>
#include <stdio.h>
#include "dpas-scope.h"
#include "dpas-types.h"
libjit/dpas/dpas-main.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
#include <config.h>
#include <stdlib.h>
/*
* Command-line options.
*/
static char *progname = 0;
libjit/dpas/dpas-parser.y view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
#include <jit/jit-dump.h>
#include <config.h>
#ifdef HAVE_STDLIB_H
#include <stdlib.h>
#endif
#ifdef HAVE_STDARG_H
#include <stdarg.h>
libjit/dpas/dpas-scanner.l view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
#include "dpas-parser.h"
#include <config.h>
#ifndef HAVE_UNISTD_H
# define YY_NO_UNISTD_H
#endif
libjit/dpas/dpas-scope.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
/*
* Internal structure of a scope item.
*/
struct dpas_scope_item
{
int kind;
libjit/dpas/dpas-scope.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _DPAS_SCOPE_H
#define _DPAS_SCOPE_H
#ifdef __cplusplus
extern "C" {
#endif
/*
libjit/dpas/dpas-semantics.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _DPAS_SEMANTICS_H
#define _DPAS_SEMANTICS_H
#ifdef __cplusplus
extern "C" {
#endif
/*
libjit/dpas/dpas-types.c view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#include "dpas-internal.h"
#include <stddef.h>
/*
* Define some special integer types that are distinguished from normal ones.
*/
jit_type_t dpas_type_boolean;
jit_type_t dpas_type_cboolean;
libjit/dpas/dpas-types.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _DPAS_TYPES_H
#define _DPAS_TYPES_H
#ifdef __cplusplus
extern "C" {
#endif
/*
libjit/include/jit/jit-apply.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_APPLY_H
#define _JIT_APPLY_H
#include <jit/jit-type.h>
#ifdef __cplusplus
extern "C" {
#endif
libjit/include/jit/jit-arch-arm.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_ARCH_ARM_H
#define _JIT_ARCH_ARM_H
/*
* If defined _JIT_ARCH_GET_CURRENT_FRAME() macro assigns the current frame
* pointer to the supplied argument that has to be a void pointer.
*/
#if defined(__GNUC__)
libjit/include/jit/jit-arch-generic.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_ARCH_GENERIC_H
#define _JIT_ARCH_GENERIC_H
/*
* If defined _JIT_ARCH_GET_CURRENT_FRAME() macro assigns the current frame
* pointer to the supplied argument that has to be a void pointer.
*/
#undef _JIT_ARCH_GET_CURRENT_FRAME
libjit/include/jit/jit-arch-x86-64.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_ARCH_X86_64_H
#define _JIT_ARCH_X86_64_H
/*
* The frame header structure for X86_64
*/
typedef struct _jit_arch_frame _jit_arch_frame_t;
struct _jit_arch_frame
libjit/include/jit/jit-arch-x86.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_ARCH_X86_H
#define _JIT_ARCH_X86_H
/*
* If defined _JIT_ARCH_GET_CURRENT_FRAME() macro assigns the current frame
* pointer to the supplied argument that has to be a void pointer.
*/
#if defined(__GNUC__)
libjit/include/jit/jit-block.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_BLOCK_H
#define _JIT_BLOCK_H
#include <jit/jit-common.h>
#ifdef __cplusplus
extern "C" {
#endif
libjit/include/jit/jit-common.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_COMMON_H
#define _JIT_COMMON_H
#include <jit/jit-defs.h>
#ifdef __cplusplus
extern "C" {
#endif
libjit/include/jit/jit-context.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_CONTEXT_H
#define _JIT_CONTEXT_H
#include <jit/jit-common.h>
#include <jit/jit-memory.h>
#ifdef __cplusplus
extern "C" {
libjit/include/jit/jit-debugger.h view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_DEBUGGER_H
#define _JIT_DEBUGGER_H
#include <jit/jit-common.h>
#ifdef __cplusplus
extern "C" {
#endif
libjit/include/jit/jit-defs.h.in view on Meta::CPAN
* as published by the Free Software Foundation, either version 2.1 of
* the License, or (at your option) any later version.
*
* The libjit library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with the libjit library. If not, see
* <http://www.gnu.org/licenses/>.
*/
#ifndef _JIT_DEFS_H
#define _JIT_DEFS_H
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _MSC_VER