Skip to content
This repository was archived by the owner on Jun 1, 2023. It is now read-only.

Commit 7ff6a21

Browse files
committed
B: Update to 1.68_08
Internal Refactor: thread API Add many missing methods and docs. Some from B::C.
1 parent a97493c commit 7ff6a21

File tree

6 files changed

+357
-116
lines changed

6 files changed

+357
-116
lines changed

dist/Module-CoreList/lib/Module/CoreList.pm

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15016,7 +15016,7 @@ our %delta = (
1501615016
'Module::CoreList' => '5.20170518c',
1501715017
'Module::CoreList::Utils'=> '5.20170518c',
1501815018
'attributes' => '1.12c',
15019-
'B' => '1.68_07',
15019+
'B' => '1.68_08',
1502015020
'B::C' => '1.55_04',
1502115021
'B::Debug' => '1.25',
1502215022
'base' => '2.26c',

ext/B/B.pm

Lines changed: 95 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,14 @@
77
#
88
package B;
99

10-
$B::VERSION = '1.68_07';
10+
$B::VERSION = '1.68_08';
1111

1212
require XSLoader;
1313
require Exporter;
1414
@B::ISA = qw(Exporter);
1515

1616
# cperl:
17-
# Note that we need to fix "RT#81332 744aaba059 bloats the B
17+
# Note that we needed to fix "RT#81332 744aaba059 bloats the B
1818
# compilers" here, by moving the XSLoader::load to the end, which
1919
# would otherwise pollute all Bytecode compiled .pmc files with all B
2020
# constants (13K), which renders Bytecode unusable. p5p refuses to
@@ -995,6 +995,8 @@ earlier versions.
995995
996996
=item OUTSIDE_SEQ
997997
998+
=item HSCXT
999+
9981000
=item XSUB
9991001
10001002
=item XSUBANY
@@ -1012,6 +1014,7 @@ Returns the name of a lexical sub, otherwise C<undef>.
10121014
=item SIGOP
10131015
10141016
Returns the signature op, otherwise C<B::NULL>.
1017+
cperl only.
10151018
10161019
=back
10171020
@@ -1036,13 +1039,84 @@ Returns the signature op, otherwise C<B::NULL>.
10361039
This method is not present if running under Perl 5.9, as the PMROOT
10371040
information is no longer stored directly in the hash.
10381041
1042+
=item STATIC
1043+
1044+
cperl only
1045+
1046+
=item CLASS
1047+
1048+
cperl only
1049+
1050+
=item ROLE
1051+
1052+
cperl only
1053+
1054+
=item Gv_AMG
1055+
1056+
cperl only
1057+
1058+
=item ENAMES
1059+
1060+
cperl only
1061+
1062+
=item name_count
1063+
1064+
cperl only
1065+
1066+
=back
1067+
1068+
=head2 B::HE Methods
1069+
1070+
Hash Entry.
1071+
All but VAL, SVKEY_force, HASH are cperl only.
1072+
1073+
=over 4
1074+
1075+
=item VAL
1076+
1077+
=item SVKEY_force
1078+
1079+
=item SVKEY
1080+
1081+
=item KEY
1082+
1083+
=item HASH
1084+
1085+
=item KLEN
1086+
1087+
=item FLAGS
1088+
1089+
=item UTF8
1090+
1091+
=item KWASUTF8
1092+
1093+
=item STATIC
1094+
1095+
=back
1096+
1097+
=head2 B::RHE Methods
1098+
1099+
Refcounted Hash Entry, representing a B::COP::hints_hash.
1100+
1101+
=over 4
1102+
1103+
=item HASH
1104+
1105+
Return a reference to the cop hints hash. The HV key-value pairs,
1106+
not the hash value.
1107+
1108+
=item fetch key
1109+
1110+
Look up the entry in the B::COP::hints_hash.
1111+
cperl only.
1112+
10391113
=back
10401114
10411115
=head2 OP-RELATED CLASSES
10421116
10431117
C<B::OP>, C<B::UNOP>, C<B::UNOP_AUX>, C<B::BINOP>, C<B::LOGOP>,
10441118
C<B::LISTOP>, C<B::PMOP>, C<B::SVOP>, C<B::PADOP>, C<B::PVOP>, C<B::LOOP>,
1045-
C<B::COP>, C<B::METHOP>.
1119+
C<B::COP>, C<B::METHOP>, C<B::UNOP_AUX>
10461120
10471121
These classes correspond in the obvious way to the underlying C
10481122
structures of similar names. The inheritance hierarchy mimics the
@@ -1137,13 +1211,23 @@ object's type, but will typically be a collection of C<B::IV>, C<B::GV>,
11371211
etc. objects. C<cv> is the C<B::CV> object representing the sub that the
11381212
op is contained within.
11391213
1214+
The perl5 variant returns PADOFFSETs as SV/GV objects.
1215+
1216+
The cperl variant behaves like L<B::C> C<aux_list_thr>, returning the
1217+
PADOFFSET as number, and the cv argument is optional and ignored.
1218+
11401219
=item string(cv)
11411220
11421221
This returns a textual representation of the object (likely to b useful
11431222
for deparsing and debugging), or an empty string if the op type doesn't
11441223
support this. C<cv> is the C<B::CV> object representing the sub that the
11451224
op is contained within.
11461225
1226+
=item aux
1227+
1228+
Returns the contents of the aux buffer as string, including the size at index -1.
1229+
cperl-only.
1230+
11471231
=back
11481232
11491233
=head2 B::BINOP Method
@@ -1347,6 +1431,10 @@ pointers and B::PADNAME objects otherwise.
13471431
13481432
=item REFCNT
13491433
1434+
=item MAXNAMED
1435+
1436+
cperl only
1437+
13501438
=back
13511439
13521440
=head2 B::PADNAME Methods
@@ -1397,6 +1485,10 @@ Only meaningful if PADNAMEt_OUTER is set.
13971485
13981486
Only meaningful if PADNAMEt_OUTER is set.
13991487
1488+
=item GEN
1489+
1490+
cperl only.
1491+
14001492
=back
14011493
14021494
=head2 $B::overlay

0 commit comments

Comments
 (0)