Message from discussion
Draft sketch of bytecode generation
Newsgroups: perl.perl6.internals
Path: archiver1.google.com!news2.google.com!news1.google.com!newsfeed.stanford.edu!nntp.perl.org
Return-Path: <d...@sidhe.org>
Mailing-List: contact perl6-internals-h...@perl.org; run by ezmlm
Delivered-To: mailing list perl6-intern...@perl.org
Mime-Version: 1.0
X-Sender: d...@redcap.sidhe.org (Unverified)
Message-ID: <a05111b00b9eedfb76ea9@[63.120.19.221]>
In-Reply-To: <20021030221715.73307.qmail@web13206.mail.yahoo.com>
References: <20021030221715.73307.qmail@web13206.mail.yahoo.com>
Date: Wed, 6 Nov 2002 10:09:50 -0500
To: perl6-intern...@perl.org
Subject: Re: Draft sketch of bytecode generation
Content-Type: text/plain; charset="us-ascii" ; format="flowed"
X-SMTPD: qpsmtpd/0.12, http://develooper.com/code/qpsmtpd/
Approved: n...@nntp.perl.org
From: d...@sidhe.org (Dan Sugalski)
Lines: 42
At 10:17 PM +0000 10/30/02, Kv Org wrote:
>On Tue, 29 Oct 2002 09:55:23 -0800, Chromatic wrote:
>>
>>I'd really like to be able to save comments from
>>source files as metadata. This has at least two
>>potential benefits. First, it >makes it much easier
>>to recreate the whole file from bytecode (especially
>>refactored bytecode).
>>Second, it makes it possible to pull out method
>>documentation in the Smalltalk or Python sense.
>>
>> Maybe metadata's not the place for this, but it
>>seems rather natural to me.
>
>I always thought metadata in bytecode was the place
>for storing security/permission/capability related
>information about the compiled chunk. If we want Perl6
>and Parrot to handle security and limited code
>sandboxes better than Perl5's Safe.pm, this is a basic
>requirement.
Unfortunately not. (Though I really, *really* wish this was the case)
The bytecode data, all of it, must be considered completely
untrustworthy unless explicitly (and out-of-bandly) marked otherwise.
The code segment that invokes a stronger security context can be
considered out of band in this context, as it is for the code running
in the secure
The interpreter engine is responsible for enforcing security. It
*must*, when running with security turned on, assume that all
bytecode has been written by malicious vermin with too much time on
their hands and the morals (and ethics) of a rabid weasel. It just
can't be trusted, unfortunately. (Parrot bytecode is inherently
unverifiable as well, at least in the general case, which exacerbates
the problem)
--
Dan
--------------------------------------"it's like this"-------------------
Dan Sugalski even samurai
d...@sidhe.org have teddy bears and even
teddy bears get drunk