Account Options

  1. Sign in
The old Google Groups will be going away soon, but your browser is incompatible with the new version.
Google Groups Home
« Groups Home
Message from discussion CGP - CGoto Prederefed runloop

Newsgroups: perl.perl6.internals
Path: archiver1.google.com!news1.google.com!newsfeed.stanford.edu!nntp.perl.org
Return-Path: <jglou...@gloudon.com>
Mailing-List: contact perl6-internals-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl6-intern...@perl.org
Delivered-To: perl6-intern...@perl.org
Date: Sat, 8 Feb 2003 10:35:07 -0500
To: Nicholas Clark <n...@unfortu.net>
Cc: Leopold Toetsch <l...@toetsch.at>, P6I <perl6-intern...@perl.org>
Subject: Re: [CVS ci] CGP - CGoto Prederefed runloop
Message-ID: <20030208153507.GA24447@gloudon.com>
References: <3E425716.1000608@toetsch.at> <20030208151058.GE287@Bagpuss.unfortu.net>
Mime-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
In-Reply-To: <20030208151058.GE287@Bagpuss.unfortu.net>
User-Agent: Mutt/1.3.25i
X-SMTPD: qpsmtpd/0.21-dev, http://develooper.com/code/qpsmtpd/
X-Spam-Check-By: one.develooper.com
X-Spam-Status: No, hits=-2.7 required=7.0 tests=CARRIAGE_RETURNS,IN_REP_TO,QUOTED_EMAIL_TEXT,REFERENCES,SPAM_PHRASE_00_01,USER_AGENT,USER_AGENT_MUTT version=2.43
X-SMTPD: qpsmtpd/0.20, http://develooper.com/code/qpsmtpd/
Approved: n...@nntp.perl.org
From: p...@gloudon.com (Jason Gloudon)
Lines: 15

On Sat, Feb 08, 2003 at 03:10:58PM +0000, Nicholas Clark wrote:

> The bytecode is "compiled" by the JIT (at some point) - if there are a run
> of consecutive JIT-able ops, then issue a section (an isolated section) of
> machine code for those ops, and replace those ops in the bytecode with an op
> that calls that section. If there isn't a run of JIT-able ops, then just
> leave the ops as ops, and use the regular computed goto core dispatch.

Yep. That's the sort of use I created the enternative op for. Right now it's
used by the compiled C code generator. Basically the entry points to basic
blocks are replaced with enternative calls so that the transition to compiled
basic blocks of ops code happens transparently to the interpreter.

-- 
Jason