Alien-LibJIT

 view release on metacpan or  search on metacpan

Build.PL  view on Meta::CPAN


use strict;
use warnings;

use Module::Build 0.3601;
use lib qw{inc}; use Module::Build::AlienLibJIT;

my %module_build_args = (
  "build_requires" => {
    "Module::Build" => "0.3601"
  },
  "configure_requires" => {
    "Module::Build" => "0.3601"
  },
  "dist_abstract" => "your very own libjit for nefarious Perl purposes",
  "dist_author" => [

libjit/ChangeLog  view on Meta::CPAN


	* dpas/dpas-parser.y, dpas/dpas-types.c, dpas/dpas-types.h:
	report errors for unimplemented expressions and statements,
	so that users are not "surprised" when things silently fail.

	* .cvsignore, auto_gen.sh, configure.in, doc/.cvsignore,
	dpas/.cvsignore, dpas/Makefile.am, include/.cvsignore,
	jit/.cvsignore, jit/Makefile.am, jitdynamic/.cvsignore,
	jitdynamic/Makefile.am, jitplus/.cvsignore, jitplus/Makefile.am,
	tools/.cvsignore, tutorial/.cvsignore, tutorial/Makefile.am:
	modify the autoconf/automake build system to use libtool.

2004-05-10  Rhys Weatherley  <rweather@southern-storm.com.au>

	* jit/jit-reg-alloc.c, jit/jit-reg-alloc.h, jit/jit-rules-interp.c:
	interpreter code conversion for relative pointer and copy opcodes;
	fix some bugs in stack-based register allocation.

	* dpas/dpas-parser.y, dpas/dpas-types.c, dpas/dpas-types.h:
	loading and storing record fields in Dynamic Pascal.

libjit/README  view on Meta::CPAN

Compiler notes
--------------

It is highly recommended that you build libjit with gcc and not
some other C compiler, even if you plan to use some other C
compiler to access the library.  We make use of a number of gcc
builtins to assist with stack walking, dynamic function calls,
and closures.

It is also recommended that you don't use the "-fomit-frame-pointer"
option when compiling programs that use libjit.  Otherwise stack walking
may not work correctly, leading to problems when throwing exceptions.
The configure script for libjit will detect the presence of this
option in CFLAGS and remove it when building libjit itself.

Contacting the authors
----------------------

The primary author is Rhys Weatherley at Southern Storm Software, Pty Ltd.
He can be reached via e-mail at "rweather@southern-storm.com.au".

libjit/jit/jit-block.c  view on Meta::CPAN

	jit_block_t block;
	jit_insn_t insn;

	/*
	 * The code below is based on the Clean algorithm described in
	 * "Engineering a Compiler" by Keith D. Cooper and Linda Torczon,
	 * section 10.3.1 "Eliminating Useless and Unreachable Code"
	 * (originally presented in a paper by Rob Shillner and John Lu
	 * http://www.cs.princeton.edu/~ras/clean.ps).
	 *
	 * Because libjit IR differs from ILOC the algorithm here has
	 * some differences too.
	 */

	if(!_jit_block_compute_postorder(func))
	{
		jit_exception_builtin(JIT_RESULT_OUT_OF_MEMORY);
	}

	set_address_of(func);
	eliminate_unreachable(func);



( run in 0.275 second using v1.01-cache-2.11-cpan-87723dcf8b7 )