GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages


Manual Reference Pages  -  B::STACKOBJ (3)

.ds Aq ’

NAME

B::Stackobj - Stack and type annotation helper module for the CC backend

CONTENTS

SYNOPSIS



        use B::Stackobj;



DESCRIPTION

A simple representation of pp stacks and lexical pads for the B::CC compiler. All locals and function arguments get type annotated, for all B::CC ops which can be optimized.

For lexical pads (i.e. my or better our variables) we currently can force the type of variables according to a magic naming scheme in load_pad in B::CC.



    my $<name>_i;    IV integer
    my $<name>_ir;   IV integer in a pseudo register
    my $<name>_d;    NV double



Future ideas are <B>type qualifiersB> as attributes



  B<num>, B<int>, B<register>, B<temp>, B<unsigned>, B<ro>



such as in



        our int $i : unsigned : ro;
        our num $d;



Type attributes for sub definitions are not spec’ed yet. Ctypes attributes and objects should also be recognized, such as c_int and c_double.

<B>my vs ourB>: Note that only <B>ourB> attributes are resolved at <B>compile-timeB>, <B>myB> attributes are resolved at <B>run-timeB>. So the compiler will only see type attributes for our variables.

See load_pad in B::CC and types.

TODO: Represent on this stack not only PADs,SV,IV,PV,NV,BOOL,Special and a SV const, but also GV,CV,RV,AV,HV, esp. AELEM and HELEM. Use B::Stackobj::Const.

AUTHOR

Malcolm Beattie MICB at cpan.org (retired), Reini Urban rurban at cpan.org
Search for    or go to Top of page |  Section 3 |  Main Index


perl v5.20.3 B::STACKOBJ (3) 2014-08-21

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with manServer 1.07.