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 Safe execution core and ops classification
The group you are posting to is a Usenet group. Messages posted to this group will make your email address visible to anyone on the Internet.
Your reply message has not been sent.
Your post was successful
 
From:
To:
Cc:
Followup To:
Add Cc | Add Followup-to | Edit Subject
Subject:
Validation:
For verification purposes please type the characters you see in the picture below or the numbers you hear by clicking the accessibility icon. Listen and type the numbers you hear
 
Leopold Toetsch  
View profile  
 More options Mar 23 2004, 2:48 am
Newsgroups: perl.perl6.internals
From: l...@toetsch.at (Leopold Toetsch)
Date: Tue, 23 Mar 2004 08:16:02 +0100
Local: Tues, Mar 23 2004 2:16 am
Subject: Safe execution core and ops classification
With the patches of Jens it's no more far away to provide a Safe
run-core option. Still a lot todo, but...

1) Opcode classes

perl5 hasn't really many different:  perldoc Opcode | grep '  :[a-z]*

- do we need base_loop? It's IMHO useless - turning off branching ops
will break any non-trivival program.

- do we expect to have more then 32 different classes?

Wanted:

A perl script that scans ops-files for opcode classes and spits out:

a) a pod with opcode classes headings and the list of opcodes that
belong to that class (at best created from a template, which has some
more explanation to that stuff)

b) a C include file that defines bitmask enums for the classes plus some
common shortcuts comming from a config file. These enums should then be
scanned during Configure and provide a user visible PASM in
runtime/parrot/include.
If we have more then 32 classes, we'll use a ParrotSet PMC (which will
be handy anyway)

2) Safe ops execution
There are basically 2 ways:
a) check in the compiler *and* in the PBC loader
b) check in the predereferencing code, which sees all opcodes anyway
immediately before execution and run Safe always through a prederefed
core. That can be CGP or for outermost safety (or when CGoto is missing)
the switched core.

3) Lexicals and globals
TBD (e.g. swap in a new global namespace hash, filled with user visible
items - or make a get_namespace like operation mandantory, which does
the rigth thing)

Thoughts, comments, patches welcome
leo


 
You must Sign in before you can post messages.
To post a message you must first join this group.
Please update your nickname on the subscription settings page before posting.
You do not have the permission required to post.