เบเบตเปเปเบกเปเบเบเปเบฒเบชเบฑเปเบ perlintern เบเบตเปเบชเบฒเบกเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเปเบ OnWorks เบเบนเปเปเบซเปเบเปเบฅเบดเบเบฒเบเปเบฎเบเบเบดเปเบเบเบฃเบตเปเบเบเปเบเปเบซเบเบถเปเบเปเบเบซเบผเบฒเบเปเบเปเบญเบเปเบฎเบฑเบเบงเบฝเบเบญเบญเบเปเบฅเบเปเบเบญเบเบเบงเบเปเบฎเบปเบฒเปเบเบฑเปเบ Ubuntu Online, Fedora Online, Windows online emulator เบซเบผเบท MAC OS online emulator
เปเบเบเบเบฒเบ:
NAME
perlintern - เปเบญเบเบฐเบชเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบเบซเบเปเบฒเบเบตเป Perl เบเบฒเบเปเบเบขเปเบฒเบเบเบฝเบง
เบฅเบฒเบเบฅเบฐเบญเบฝเบ
เปเบเบฅเปเบเบตเปเปเบกเปเบเปเบญเบเบฐเบชเบฒเบเบเบตเปเบชเปเบฒเบเบเบถเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบญเบเบซเบเปเบฒเบเบตเปเบขเบนเปเปเบเบเบปเบงเปเบเบเบฒเบชเบฒ Perl เบเบตเปเปเบเบฑเบ
เปเบญเบเบฐเบชเบฒเบเปเบเบเปเบเปเบฎเบนเบเปเบเบเปเบญเบเบฐเบชเบฒเบเบเบฒเบเปเบเบเบญเบ Perl เปเบเปเบเปเปเปเบเปเบเบทเบเปเบฒเบเบงเปเบฒเปเบเบฑเบเบชเปเบงเบเปเบถเปเบเบเบญเบ
Perl API. เปเบเบเปเบฒเบชเบฑเบเบเปเบฒเบเปเบญเบทเปเบเป, เบเบงเบเปเบเบปเบฒเปเบเบปเปเบฒ เบกเบต เบเปเป เบชเปเบฒเบฅเบฑเบเบเบฒเบ เบเบฒเบเบเปเบฒเปเบเป in เบเบฒเบเบเบฐเบซเบเบฒเบ!
เบฅเบงเบเบฅเบงเบกเปเบงเบฅเบฒ เบเบญเบเปเบเบ hooks
BhkENTRY
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เบชเบปเปเบเบเบทเบเบเปเปเบกเบนเบเบเบฒเบเปเบเบเบชเปเบฒเบ BHK. เบเบตเป เปเบเบฑเบ token preprocessor เบเบตเปเบเบญเบ
เบเบตเปเบเบฐเบเบฑเบเบเบทเบ. เบเปเบฒเบเบธเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบกเบเปเปเปเบเปเบเบทเบเบเบฑเปเบ, เบกเบฑเบเบเบฐเบเบฑเบเบเบทเบเบกเบฒ NULL.
เบเบฐเปเบเบเบเบญเบเบกเบนเบเบเปเบฒเบเบฑเบเบเบทเบเปเบกเปเบเบเบถเปเบเบเบฑเบเบฅเบฒเบเบเบฒเบเบเบตเปเบเปเบฒเบเบฎเปเบญเบเบเป.
void * BhkENTRY(BHK *hk, เปเบเบดเปเบ)
BhkFLAGS
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เบเบฑเบเบเบทเบเบเบธเบเบเบญเบ BHK.
U32 BhkFLAGS(BHK *hk)
CALL_BLOCK_HOOKS
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เปเบเบซเบฒเบเบฑเบเบซเบกเบปเบ hooks เบเบฑเบเบฅเบปเบเบเบฐเบเบฝเบเบชเปเบฒเบฅเบฑเบเบเบฐเปเบเบ เบเบตเป. เบเบตเป เปเบกเปเบเบเบฒเบเบเบธเบเปเบเปเบเบเปเบญเบ
token; เบเบฐโเปเบเบโเบเบญเบโ arg เบเบถเปเบโเบเบฑเบ เบเบตเป.
CALL_BLOCK_HOOKS เปเบเบฑเบเปเบกเบเบฐ (เปเบเบดเปเบ, เปเบเปเปเบเปเบ)
Custom เบเบนเปเบเบฐเบเบญเบเบเบฒเบ
core_prototype
เบเบฑเบเบเบฑเบเบเบตเปเบเบณเบเบปเบเบเบปเปเบเปเบเบเบเบญเบเบเบฑเบเบเบฑเบเบซเบผเบฑเบเบเบตเปเบกเบตเบเบทเปเบงเปเบฒ "sv", เบซเบผเบท a
new mortal SV เบเปเบฒ "sv" เปเบเบฑเบ NULL. เบกเบฑเบเบชเบปเปเบเบเบทเบ "sv", เบซเบผเบท NULL เบเปเบฒเปเบเบฑเบเบซเบผเบฑเบ
เบเบฑเบเบเบฑเบเบเปเปเบกเบตเบเบปเปเบเปเบเบ. "code" เปเบกเปเบเบฅเบฐเบซเบฑเบเบเบตเปเบชเบปเปเบเบเบทเบเปเบเบ "keyword()". เบกเบฑเบเบเปเบญเบ
เบเปเปเปเบเบปเปเบฒเบเบฑเบ 0.
SV * core_prototype(SV *sv, const char *เบเบทเป,
const int เบฅเบฐโเบซเบฑเบโ,
int * const opnum)
CV เบเบฒเบเบเบฑเบเบเบฒเบ เบซเบเปเบฒเบเบตเป
docatch เบเบงเบเปเบเบดเปเบเบเปเบฅเบฐเบเบต 0 เบซเบผเบท 3 เบเบญเบ cur_env.je_ret, เปเบเปเบเบฝเบเปเบเปเบเบฒเบเปเบเบเปเบฅเบดเบเบปเบ eval.
0 เบเบทเบเบเปเบฒเปเบเปเปเบเบฑเบเบชเบทเบเบเปเปเบเบฒเบเปเบ evaal,
3 เบเบทเบเบเปเบฒเปเบเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบชเบเบเบตเบงเบดเบเบเบตเปเบเบฑเบเปเบเปเปเบเบ eval เบเบฒเบเปเบ - เบชเบทเบเบเปเปเบงเบปเบเบเบฒเบเปเบ
เปเบเบดเปเบ cop.h: je_mustcatch, เปเบกเบทเปเบญเบเบฑเปเบเบขเบนเปเปเบเบฅเบฐเบเบฑเบ runlevel เปเบเปเบเบฑเบ TRUE, เบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ eval ops เบเปเบญเบ.
เบชเปเบฒเบเบเบฑเปเบ jmpenv เบเปเบญเบเบเบดเปเบเปเบเบทเปเบญเบเบฑเบเบเบฒเบเบเบฑเบเบเบฒเบเบเบปเบเปเบงเบฑเปเบ.
OP* docatch(OP*o)
CV เบญเปเบฒเบเบญเบดเบ เบเบฒเบเบเบฑเบ เปเบฅเบฐ CvOUTSIDE
CvWEAKOUTSIDE
เปเบเปเบฅเบฐ CV เบกเบตเบเบปเบงเบเบตเป, "CvOUTSIDE()", เบเปเปเบเบฑเบ CV เบเบตเปเบกเบต lexically enclosing (เบเปเบฒเบกเบต).
เปเบเบทเปเบญเบเบเบฒเบเบงเปเบฒเบเบปเบงเบเบตเปเปเบเบซเบฒ prototypes เบเปเบญเบเบเบตเปเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเปเปเบกเปเบเบเบทเบเปเบเบฑเบเปเบงเปเปเบ "&" pad slots, เบกเบฑเบเปเบกเปเบ.
เปเบเบฑเบโเปเบโเปเบเปโเบเบตเปโเบเบฐโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบญเปเบฒเบโเบญเบตเบโเปเบเบฑเบโเบงเบปเบโ, เบเบฑเบโเบเปเปโเปเบกเปโเบเบตเปโเปเบโเบซเบฒโเปเบเบฑเบโเบเปเบญเบโเปเบฅเบฐโ
เปเบเบเบฒเบเบเบฑเบเบเบฑเบ. เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบฎเบปเปเบงเปเบซเบผเบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ, เบเบงเบเปเบฎเบปเบฒเบเปเปเปเบเปเปเบเบตเปเบกเบเบฒเบเบญเปเบฒเบเบญเบตเบ
เบเบฑเบเบเบญเบ CV เบเบตเปเปเบซเปเปเบซเบฑเบเปเบเบ "CvOUTSIDE" เปเบ เบซเบเบถเปเบ เบชเบฐเปเบเบฒเบฐ เบเบปเบงเบขเปเบฒเบ เบงเปเบฒ
เบเปเปเปเบกเปเบกเบตเบเปเบญเบเบชเบฝเบ "&" เบเบตเปเบเบฑเบเบเบทเบเปเบเบเปเบญเบเบเบงเบเปเบฎเบปเบฒ. เปเบเบเปเบฅเบฐเบเบตเบเบฑเปเบเบเปเบฒเบงเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบ
เบเบธเบ "CvWEAKOUTSIDE" เปเบเปเบเบฑเบ. เบเบตเปเบญเบฐเบเบธเบเบฒเบเปเบซเปเบเบงเบเปเบฎเบปเบฒเบเปเบฒเบเบปเบเบเบฒเบเปเบเปเบชเบดเปเบเบเบตเป
เบชเบฐเบเบฒเบเบฐเบเบฒเบเบเบตเปเบเบงเบเปเบฎเบปเบฒเบเบงเบเบเบฐเบซเบผเบธเบเบฅเบปเบเบเบฒเบ refcount เบเบญเบเบเปเปเปเบกเปเปเบเปเบงเบฅเบฒเบเบตเป freeing เปเบเป
เปเบเบฑเบเบเปเบญเบ.
เบกเบตเบเบงเบฒเบกเบชเบฑเบเบชเบปเบเบเบทเปเบกเบญเบตเบเบเบฑเบ subs เบเบตเปเบเปเปเปเบเบตเบเปเบเบตเบเบเบทเปเบเบตเปเบเปเปเบเบดเบ (เปเบเบฑเปเบเบเบฑเปเบ
เบซเปเบฒเบกเบญเปเบฒเบเปเบเบดเบเบเบณเบชเบฑเบเปเบเบเบถเปเบเบเบตเปเบเบญเบเปเปเบทเบญเบเบฑเปเบ). เปเบโเบเปโเบฅเบฐโเบเบตโเบเบตเปโ, anonymous เปเบเปโ
เบเบปเปเบเปเบเบเบเบทเบเปเบเปเบเบเบฑเบเปเบเบเบเบตเปเบเบฐเบเบทเบเปเบเบ. เบเบตเปโเบกเบตโเบเบปเบโเบชเบฐโเบเปเบญเบโเบเบตเปโ
เบเปเปเปเบกเปเบญเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเบเบเปเบญเบเปเบเบเบฐเบเบฐเบเบตเปเบเบฑเบเบกเบตเปเบเบฑเบเบเปเบญเบเบเบตเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบเปเบซเบง, เบเบปเบงเบขเปเบฒเบ
BEGIN { $a = เบเปเบญเบ { eval '$x' } }
เปเบเบเปเบฅเบฐเบเบตเบเบตเป, BEGIN เบเบทเบเบเบปเบเบเปเบญเบเบเบฑเบเบเบตเบซเบผเบฑเบเบเบฒเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฑเบเบเบฑเปเบเปเบเปเบเปเปเบกเบต
เบเบฒเบเบญเปเบฒเบเบญเบดเบเบขเปเบฒเบเบซเปเบฒเบงเบซเบฑเบเบเบฑเบเบกเบฑเบ: เบเบปเปเบเปเบเบเบเปเบญเบเบเบญเบ anon เบกเบต "CvWEAKOUTSIDE" เบเบฑเปเบเปเบงเปเบเบฑเบเบเบฑเปเบเปเบเปเบกเบฑเบเปเบเบฑเบ
เบเปเปเปเบกเปเบเบเบฒเบเบเบดเบ, เปเบฅเบฐ $a เบเบตเปเปเบซเปเปเบซเบฑเบ CV เบเบฝเบงเบเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบเปเปเปเบเปเบเบฐเบเบญเบเบชเปเบงเบเปเบเบปเปเบฒเปเบ BEGIN's
refcount เบเปเปเบงเปเบฒ. เปเบกเบทเปเบญ $a เบเบทเบเบเบฐเบเบดเบเบฑเบ, "eval '$x'" เปเบฎเบฑเบเปเบซเปเบเปเบญเบเปเบชเปเบเบญเบ
"CvOUTSIDE" เบเบตเปเบเบฐเบเบดเบเบเบฒเบก, เปเบฅเบฐ BEGIN เบเบตเปเบเบทเบเบเบปเบเบเปเบญเบเปเบกเปเบเปเบเบปเปเบฒเปเบเบดเบ.
เปเบเบทเปเบญเบซเบผเบตเบเปเบงเบฑเปเบเบเบฒเบเบเบตเป, เบเบธเบเบเบฑเปเบเบเบตเป CV เปเบฅเบฐเปเบเปเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบญเบเบกเบฑเบเบเบทเบเบเบปเบเบเปเบญเบ, เบเบธเบเป "&" เปเบเบปเปเบฒเปเบเปเบ
pad เปเบเปเบเบทเบเปเบเบเบเปเบฒเบเบขเปเบฒเบเบเบฑเบเปเบเบเบญเบญเบเบเบฒเบ pad, เปเบฅเบฐเบเปเบฒเบซเบฒเบเบงเปเบฒเบเบฒเบ refcount เบเบญเบ pointed-to
anon sub เบเบฑเบเปเบเบฑเบเบเบงเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ "CvOUTSIDE" เปเบเบฑเบเบเปเบญเบเบเบฑเปเบเบเบทเบเบเบฑเปเบเปเบซเปเบเบตเปเปเบเบซเบฒเบกเบฑเบ
เบเปเปเปเบเบปเปเบฒ. เบเบตเปเบเบฐเปเบเบตเบเบเบถเปเบเปเบเบเปเบฅเบฐเบเบตเบชเบฐเปเบเบฒเบฐเบเบฝเบงเบเบญเบเบเบฒเบเบเปเปเบเบดเบ
anon prototype เบกเบตเบซเบเบถเปเบเบซเบผเบทเบซเบผเบฒเบเบเบงเปเบฒเบเบฒเบเบญเปเบฒเบเบญเบดเบเบเบตเปเบกเบตเบเบฒเบเปเบเบทเปเบญเบเปเบซเบง (เปเบเบฑเปเบ: $a เบเปเบฒเบเปเบเบดเบ).
เบชเบดเปเบเบญเบทเปเบเบเบตเปเบเบงเบเบเบดเบเบฒเบฅเบฐเบเบฒเปเบกเปเบเบงเปเบฒ CV เบญเบฒเบเบเบฐเปเบเบฑเบเบเบฝเบเปเบเปเบเปเปเปเบเปเบเปเบฒเบเบปเบเปเบเบเบเบตเปเบเบฐ
เบเบปเบเบเปเบญเบ, เบเบปเบงเบขเปเบฒเบ "undef & foo". เปเบเบเปเบฅเบฐเบเบตเบเบตเป, refcount เบเบญเบเบกเบฑเบเบญเบฒเบเบเบฐเบเปเปเปเบเปเปเบเบดเบเบชเบนเบ, เปเบเป
เบเบงเบโเปเบฎเบปเบฒโเบเบฑเบโเบเบฐโเบฅเบปเบ pad เปเบฅเบฐ "CvROOTโ" เบเบญเบโเบเบปเบโเปเบฅเบฐโเบญเบทเปเบเป. เปเบเบทเปเบญเบโเบเบฒเบโเบงเปเบฒโเปเบเบฑเบโเบเปเบญเบโเบเปเบฒเบเปโเบญเบฒเบโเบเบฐโเบเบฑเบโ
เบกเบต "CvOUTSIDE" เบเบญเบเบเบงเบเปเบเบปเบฒเบเบตเปเปเบชเป CV เบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบเบเบตเป, เบเบงเบเปเบฎเบปเบฒเบฎเบฑเบเบชเบฒ "CvOUTSIDE" เบเบญเบเบเบปเบเปเบญเบ.
เปเบเปเบงเบฅเบฒเบเบตเป, เบเบฑเปเบเบเบฑเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบญเบเบเบญเบเปเบเบเบเบญเบ lexical เปเบกเปเบ unbroken. เบเบปเบโเบเบปเบงโเบขเปเบฒเบ,
เบเปเปเปเบเบเบตเปเบเบงเบเบเบดเบก 123:
$x เบเบญเบเบเปเบญเบ = 123;
เบเปเบญเบ tmp { เบเปเบญเบ { eval '$x' } }
$a เบเบญเบเบเปเบญเบ = tmp();
undef &tmp;
เบเบดเบก $a->();
bool CvWEAKOUTSIDE(CV *cv)
เบเบฒเบเบเบฑเบ เบซเบเปเบฒเบเบตเป
cv_dump เบเบดเปเบกเปเบเบทเปเบญเปเบเบเบญเบ CV
void cv_dump(CV *cv, const char *title)
cv_forget_slab
เปเบกเบทเปเบญ CV เบกเบตเบเบฒเบเบเบฑเบเบญเปเบฒเบเบญเบตเบเปเบชเปเบเบฒเบญเบฑเบเบเบฒเบเบเบธเบกเบเบญเบเบกเบฑเบ (CvSLABBED), เบกเบฑเบเบฎเบฑเบเบเบดเบเบเบญเบ
เปเบซเปเปเบเปเปเบเบงเปเบฒเบกเบฑเบเบเบทเบเบเบปเบเบเปเบญเบ. (เปเบเบฒเบฐเบชเบฐเบเบฑเปเบ, เบเปเปเบกเบตเบชเบญเบ CVs เบเบงเบเบกเบตเปเบญเบเบฐเบชเบฒเบเบญเปเบฒเบเบญเบตเบ
เบเบฒเบญเบฑเบเบเบฒเบเบเบธเบกเบเบฝเบงเบเบฑเบ.) CV เบเบฝเบเปเบเปเบเปเบญเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเบเบฒเบญเบฑเบเบเบฒเบเบเบธเบกเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฅเบงเบเบฅเบงเบก. เบเบฑเปเบเบเบฝเบง
เบกเบฑเบเบเบทเบเบฅเบงเบเบฅเบงเบกเปเบฅเบฐเบเบดเบ CvROOT, เบกเบฑเบเปเบเปเบชเปเบฒเปเบฅเบฑเบเบงเบฝเบเบเบญเบเบกเบฑเบ, เบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบชเบฒเบกเบฒเบเบฅเบทเบกเปเบเป
เบเบฒเบญเบฑเบเบเบฒเบเบเบธเบก.
void cv_forget_slab(CV *cv)
do_dump_pad
เบเบดเปเบกเปเบเบทเปเบญเปเบเบเบญเบ padlist
void do_dump_pad(เบฅเบฐเบเบฑเบ I32, PerlIO *file,
PADLIST *padlist, เปเบเบฑเบก)
padlist_dup
เบชเบณเปเบเบปเบฒเปเบเปเบเบฎเบญเบ.
PADLIST * padlist_dup(PADLIST *srcpad,
CLONE_PARAMS *param)
padnamelist_dup
เบเปเปเบฒเบเบฑเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบทเปเปเบเปเบ.
PADNAMELIST * padnamelist_dup(PADNAMELIST *srcpad,
CLONE_PARAMS *param)
padname_dup
เบเปเปเบฒเบเบฑเบเบเบทเปเปเบเปเบ.
PADNAME * padname_dup(PADNAME *src, CLONE_PARAMS *param)
pad_alloc_name
เบเบฑเบเบชเบฑเบเบชเบฐเบเบฒเบเบเบตเปเบขเบนเปเปเบ pad เบฅเบงเบเบฅเบงเบกเบเบฐเบเบธเบเบฑเบ (เบเปเบฒเบ "pad_alloc" เปเบ perlapi) เปเบฅเบฐ
เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเบเบทเปเบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ. เบเบทเป เบเบทเบเบฎเบฑเบเบฎเบญเบเปเบญเบปเบฒเปเบฅเบฐเบเบฒเบเปเบเบฑเบเบเบทเปเปเบเบปเปเบฒ; เบกเบฑเบ
เบเปเบญเบเบกเบตเบชเบฐเบเบฃเบดเบเบเบทเปเบขเบนเปเบเปเบญเบเปเบฅเปเบง. เปเบเบทเปเบญเบเบเบดเบก เปเบฅเบฐ ourstash เปเบฅเบฐ
เบเบธเบ "padadd_STATE" เบเบทเบเปเบเบตเปเบกเปเบชเป เบเบทเป. เบเปเปโเบกเบตโเบเบฒเบโเบเบธเบโเปเบเปเบโเบญเบทเปเบเปโเบเบญเบโ
"pad_add_name_pvn" เปเบ perlapi เปเบกเปเบเปเบฅเปเบง. เบเบญเบเบเปเบฒเบเบปเบเปเบเบตเบเบเบญเบเปเบเปเบเบเบตเปเบเบฑเบเบชเบฑเบ
เปเบกเป.
PADOFFSET pad_alloc_name(PADNAME *เบเบทเป, เบเบธเบ U32,
HV *typestash, HV *ourstash)
pad_block_start
เบญเบฑเบเปเบเบเบเบปเบงเปเบเบชเบฐเบเบฒเบเบฐเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเปเปเบกเบนเบ pad เปเบเบเบฒเบเปเบเบปเปเบฒเบชเบนเปเบเบฅเบฑเบญเบเปเบซเบกเป.
void pad_block_start(เปเบเบฑเบก)
pad_check_dup
เบเบงเบเปเบเบดเปเบเบเบฒเบเบเบฐเบเบฒเบเบเปเปเบฒเบเบฑเบ: เบฅเบฒเบเบเบฒเบเปเบเปเบเบญเบ:
* a my เปเบเบเบญเบเปเบเบเบเบฐเบเบธเบเบฑเบเบเบตเปเบกเบตเบเบทเปเบเบฝเบงเบเบฑเบ;
* an our (เบเปเบญเบโเปเบโเบเปโเบเบฒเบกโเปเบ pad เปเบเปโ) เบเบตเปโเบกเบตโเบเบทเปโเบเบฝเบงโเบเบฑเบโเปเบฅเบฐโ
เบชเบฐโเบเบฒเบโเบเบตเปโเบเบฝเบงโเบเบฑเบโเบเบฑเบ C
"is_our" เบเบตเปเปเบซเปเปเบซเบฑเบเบงเปเบฒเบเบทเปเบเบตเปเบเบฐเบเบงเบเบชเบญเบเปเบกเปเบเบเบฒเบเบเบฐเบเบฒเบ 'เบเบญเบเบเบงเบเปเบฎเบปเบฒ'.
void pad_check_dup(PADNAME *เบเบทเป, U32 เบเบธเบ,
const HV *ourstash)
pad_findlex
เบเบญเบเบซเบฒ lexical เบเบตเปเบกเบตเบเบทเปเบเบธเบเบเปเบญเบเปเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบญเบ pads เบฎเบฑเบ. เบเบทเปเบกเบเบฒเบเปเบเบปเปเบฒเบเบญเบกเปเบ
pads เบเบฒเบเปเบเบเปเบฒเบซเบฒเบเบงเปเบฒเบกเบฑเบเปเบเปเบเบทเบเบเบปเบเปเบซเบฑเบเบขเบนเปเปเบเบซเบเบถเปเบเบเบญเบ.
เบชเบปเปเบเบเปเบฒเบเบปเบเปเบเบตเบเปเบเปเบเปเบเบฅเบธเปเบกเบชเบธเบเบเบญเบ lex เบซเบผเบท lex เบเบญเบก. cv เปเบกเปเบ CV เปเบ
เปเบเบดเปเบเปเบเบทเปเบญเปเบฅเบตเปเบกเบเบปเปเบเบเบฒเบเบเบปเปเบเบซเบฒ, เปเบฅเบฐ seq เปเบกเปเบ cop_seq เปเบเบเบฐเบเบธเบเบฑเบเบเบตเปเบเบฐเบเบปเบเบเบฑเบ. เบเปเบฒ
เบเปเบฒเปเบเบทเบญเบเปเบกเปเบเบเบงเบฒเบกเบเบดเบ, เบเบดเบกเบเปเบฒเปเบเบทเบญเบเบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก. เบเปเบฒ out_* vars เบเบฑเบเบเบทเบ, เปเบฅเบฐเบญเบทเปเบเป
เปเบกเปเบเบเบปเบงเบเบตเปเปเบเบซเบฒเบเปเบญเบเบเบตเปเบเปเบฒเบเบฑเบเบเบทเบเบเบงเบเบเบทเบเปเบเบฑเบเปเบงเป. out_capture, เบเปเบฒเบเปเปเปเบกเปเบ
null, เบฎเปเบญเบเบเปเปเบซเปเบเบปเบงเบขเปเบฒเบ innermost เบเบญเบ lexical เปเบเปเบเบทเบ captured; out_name เปเบกเปเบ
เบเบฑเปเบเปเบเบฑเบเบเบทเป pad เบเบตเปเบเบปเบเบเบฑเบเบเบฒเบเปเบเบเบตเปเบชเบธเบเบซเบผเบทเบเบทเป pad เบเบญเบก; out_flags เบเบฑเบเบเบทเบ
เบเบธเบเบเบตเปเบเบปเบเบเบฐเบเบดเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเปเบญเบเบเปเปเบกเบนเบ PARENT_FAKELEX_FLAGS เบเบญเบเบเบทเปเปเบเปเบเบเบญเบก.
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ pad_findlex() เปเบกเปเบ recursive; เบกเบฑเบ recurses เปเบเบดเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบญเบ CVs, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบกเบฒ
เบเบฑเบเบเบทเบเปเบเบเปเบญเบเบฅเบปเบ, เปเบเบตเปเบกเบฅเบฒเบเบเบฒเบเบเบญเบกเบเบฒเบกเบเบตเปเบกเบฑเบเปเบ. เบกเบฑเบเบเปเบญเบเปเบเบฑเบเปเบเบเบเบตเปเปเบเบฒเบฐเบเบญเบก
เบเบทเปเปเบ anon protoypes เบเบฐเบเปเบญเบเปเบเบฑเบเบฎเบฑเบเบชเบฒเปเบ xlow เบเบฑเบเบเบฐเบเบตเปเบเบปเปเบฒเปเบเปเบ pad เบเปเปเปเบกเป.
PADOFFSET pad_findlex(const char *namepv,
STRLEN namelen, เบเบธเบ U32,
const CV* cv, U32 seq, int เปเบเบทเบญเบ,
SV** out_capture,
PADNAME** out_name,
int *out_flags)
pad_fixup_inner_anons
เบชเปเบฒเบฅเบฑเบ anon CVs เปเบเปเปเบ pad, เบเปเบฝเบ CvOUTSIDE เบเบญเบ CV เบเบฑเปเบเบเบฒเบ old_cv เปเบเบฑเบ new_cv เบเปเบฒ
เบเปเบฒเปเบเบฑเบ. เบเปเบญเบเบเบฒเบเปเบเปเบงเบฅเบฒเบเบตเป CV เบเบตเปเบฅเบงเบเบฅเบงเบกเปเบซเบกเปเบเปเบญเบเบเบทเบเบเปเบฒเบเปเบเบขเบนเปเปเบ CV เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง
เปเบเบเบชเปเบฒเบ.
void pad_fixup_inner_anons(PADLIST *padlist,
CV *old_cv, CV *new_cv)
pad_free
เบเบปเบเบเปเบญเบ SV เบขเบนเปเบเบตเป offset po เปเบเปเบเปเบเบเบฐเบเบธเบเบฑเบ.
void pad_free(PADOFFSET po)
pad_leavemy
เบเบฒเบเปเบฎเบฑเบเบเบงเบฒเบกเบชเบฐเบญเบฒเบเปเบเบเบญเบเบเปเบฒเบเบเบญเบเบเบญเบเปเบเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบฅเบงเบเบฅเบงเบก: เบเปเบฒเบเบปเบเบเปเบฒเบเบงเบ seq เบชเบนเบเบชเบธเบเบชเปเบฒเบฅเบฑเบ lexicals เปเบ
เบเบญเบเปเบเบเบเบตเปเปเบฅเบฐเปเบเบทเบญเบเบเบญเบ lexicals เปเบเปเบเบตเปเบเปเปเปเบเบตเบเปเบเปเบฎเบฑเบเบเบฒเบเบเปเบฒเบชเบฐเปเบซเบเบต.
void pad_leavemy()
pad_push
เบเบนเปเบเบญเบเปเบเปเบเปเปเปเปเบชเปเปเบเปเบเบฎเบญเบ, เปเบงเบฑเปเบเปเบชเบเปเบเปเบงเปเบฒเบกเบตเปเบเปเบเบฎเบญเบเบขเบนเปเบเบงเบฒเบกเปเบฅเบดเบเบเบตเปเปเบฅเปเบง,
เปเบเบเปเบฅเบฐเบเบตเปเบเบเปเปเบเบฒเบก, เบขเปเบฒเบฅเบปเบเบเบงเบเบเบฒเบเบชเปเบฒเบเบญเบฑเบเปเบซเบกเป. เบเบฒเบเบเบฑเปเบเปเบซเปเปเบเบฑเบเปเปเปเปเบชเป @_ เปเบเบปเปเบฒเปเบ
เบชเบฐเบฅเบฑเบญเบเบเบดเบเบชเบนเบ.
void pad_push(PADLIST *padlist, เบเบงเบฒเบกเปเบฅเบดเบ int)
pad_reset
เปเบฒเบเบเบฑเบเปเบปเบเบเบฑเบเบเบธเบเบฑเบเบเบปเปเบงเบเบฒเบงเปเบเบทเปเบญเปเบเปเบเบทเบเปเปเป
void pad_reset()
pad_swipe
เบเบฐเบเบดเปเบก tmp เปเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเบขเบนเปเบเบตเป offset po เปเบฅเบฐเบเปเบฝเบเปเบเบเบเปเบงเบเบญเบฑเบเปเบซเบกเป.
void pad_swipe(PADOFFSET po, bool refadjust)
GV เบซเบเปเบฒเบเบตเป
gv_try_downgrade
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เบเปเบฒ typeglob "gv" เบชเบฒเบกเบฒเบเบชเบฐเปเบเบเบญเบญเบเปเบเปเบเบฑเบเปเบเบเบเบงเปเบฒ, เปเบเบเบเบฒเบเบกเบตเบเบฒเบเบชเบดเปเบเบเบฒเบเบขเปเบฒเบเบญเบทเปเบ
เบเปเบงเบฒ GV เบเบตเปเปเบเปเบเบดเบเบขเบนเปเปเบเบชเบฐเบเบฒเบเบเบตเปเบเบญเบเบกเบฑเบเบขเบนเปเปเบ stash, เบเบปเบเปเบเบเบกเบฑเบเบเปเบงเบเบฎเบนเบเปเบเบเบเบตเปเบเบตเบเบตเปเบชเบธเบ.
เบเปเปเบเปเบฒเบเบปเบเบเบทเปเบเบเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบตเปเปเบกเปเบเบงเปเบฒ "gv" เปเบเบฑเบ typeglob เบเบตเปเปเบเปเบเบดเบ, เปเบกเปเบเบเบฝเบเบเป
เบเปเบฒเบกเบฐเบเบฒ, เปเบฅเบฐเบเบฝเบเปเบเปเบญเปเบฒเบเบญเบตเบเบเบฒเบเบเบธเบเบเบญเบเบกเบฑเบ. เบซเบเปเบฒเบเบตเปเบเบตเปเปเบกเปเบเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒ
เปเบเปเปเบเปเบงเบฅเบฒเบเบตเป GV เปเบเปเบเบทเบเบเบญเบเบซเบฒเบขเบนเปเปเบเบชเปเบงเบเบซเบเบถเปเบเปเบเบทเปเบญเปเบเบดเปเบเบงเปเบฒเบกเบตเบซเบเบฑเบ, เปเบเบดเปเบเบเปเปเปเบซเปเปเบเบตเบ
เบเบฒเบเบเบฑเบเบเบธเบ, เปเบเปเบญเบตเบเปเบชเปเบชเบดเปเบเบเบตเปเบเบปเบเปเบซเบฑเบ, เบกเบฑเบ turns เปเบซเปเปเบซเบฑเบเบงเปเบฒ GV เบเบตเปเปเบเปเบเบดเบเบเปเปเปเบกเปเบ
เบเปเบญเบเบเบฒเบเบซเบผเบฑเบเบเบฒเบเบเบฑเบเบซเบกเบปเบ.
เบเปเบฒ "gv" เปเบเบฑเบ typeglob เบซเบงเปเบฒเบเปเบเบปเปเบฒ, เบกเบฑเบเบเบฐเบเบทเบเบฅเบถเบเบญเบญเบเบเบฒเบ stash.
เบเปเบฒ "gv" เปเบเบฑเบ typeglob เบเบตเปเบกเบตเบเบฝเบเบชเปเบงเบเบเปเบญเบเบเบปเบเบเบตเปเบเบตเปเบเบฝเบเบเป-เบเบณเบกเบฐเบเบฒ, the
typeglob เบเบทเบเปเบเบเบเบตเปเบเปเบงเบเบเบปเบงเบเบถเบเบเบฒเบเบญเปเบฒเบเบญเบดเบ scalar เบเบตเปเบซเบเบฒเปเบซเบเปเบเบเบงเปเบฒ
เปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบชเบดเปเบเบเบฝเบงเบเบฑเบ.
void gv_try_downgrade(GV* gv)
Hash เบเบฒเบเบเบฑเบเบเบฒเบ เบซเบเปเบฒเบเบตเป
hv_ename_add
เปเบเบตเปเบกเบเบทเปเปเบชเปเบฅเบฒเบเบเบทเปเบเบฒเบเปเบเบเบญเบ stash เบเบญเบเบเบทเปเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ. เปเบเบดเปเบ "hv_ename_delete".
เบญเบฑเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒเปเบกเบทเปเบญ stash เบเบทเบเบกเบญเบเปเบฒเบเปเบซเปเบชเบฐเบเบฒเบเบเบตเปเปเปเปเปเบเบเบฒเบเบฐเบฅเบฒเบเบชเบฑเบเบเบฒเบฅเบฑเบ.
void hv_ename_add(HV *hv, const char *name, U32 len,
เบเบธเบ U32)
hv_ename_delete
เบฅเบถเบเบเบทเปเบญเบญเบเบเบฒเบเบฅเบฒเบเบเบทเปเบเบฒเบเปเบเบเบญเบ stash เบเบญเบเบเบทเปเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ. เบเปเบฒเบเบตเปเปเบกเปเบ
เบเบทเปเบเบตเปเบชเบปเปเบเบเบทเบเปเบเบ "HvENAME", เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบทเปเบญเบทเปเบเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบฐเปเบญเบปเบฒเปเบเบเบเบญเบเบกเบฑเบ
("HvENAME" เบเบฐเปเบเปเบกเบฑเบ).
เบญเบฑเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒเปเบกเบทเปเบญ stash เบเบทเบเบฅเบถเบเบญเบญเบเบเบฒเบเบเบฒเบเบฐเบฅเบฒเบเบชเบฑเบเบเบฒเบฅเบฑเบ.
void hv_ename_delete(HV *hv, const char *เบเบทเป,
U32 เปเบฅเบ, เบเบธเบ U32)
refcounted_he_chain_2hv
เบชเปเบฒเบ เปเบฅเบฐเบชเบปเปเบเบเบทเบ "HV *" เบเบตเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเปเบเบทเปเบญเบซเบฒเบเบญเบ "refcounted_he"
เบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป. เบเบปเบ เบเบฐเบเบธเบเบฑเบเบเปเปเปเบเปเปเบเป เปเบฅเบฐเบเปเบญเบเปเบเบฑเบเบชเบนเบ.
HV * refcounted_he_chain_2hv(
const struct refcounted_he *c, U32 เบเบธเบ
)
refcounted_he_fetch_pv
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ "refcounted_he_fetch_pvn", เปเบเปเปเบเปเบชเบฐเบเบฃเบดเบเบเบตเปเปเบเบฑเบ nul-terminated เปเบเบ
เบเบนเปเบชเบฒเบ/เบเบงเบฒเบกเบเบฒเบง.
SV * refcounted_he_fetch_pv(
const struct refcounted_he *เบเปเบญเบเปเบชเป,
const char *key, U32 hash, U32 flags
)
refcounted_he_fetch_pvn
เบเบปเปเบเบซเบฒเบเบฒเบกเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป "refcounted_he" เบชเปเบฒเบฅเบฑเบเบเบฒเบเปเบเบปเปเบฒเบเบตเปเบกเบตเบฅเบฐเบซเบฑเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเปเบเบ keypv
เปเบฅเบฐ เบเบฐเปเบเบเบตเปเบขเบนเป เบเปเบฒเบซเบฒเบเบงเปเบฒ เบเบปเบ เบกเบต "REFCOUNTED_HE_KEY_UTF8" เบเบดเบเบเบตเปเบเปเบฒเบเบปเบเปเบงเป, octets เบเบตเปเบชเปเบฒเบเบฑเบเปเบกเปเบ
เปเบเปเบเบฑเบ UTF-8, เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบงเบเบกเบฑเบเบเบฐเบเบทเบเบเบตเบเบงเบฒเบกเปเบฒเบเปเบเบฑเบเบฅเบฒเบเบดเบ-1. hash เปเบเบฑเบ
hash precomputed เบเบญเบ key string, เบซเบผเบทเบชเบนเบเบเปเบฒเบซเบฒเบเบงเปเบฒเบกเบฑเบเบเปเปเปเบเปเบเบทเบ precomputed.
เปเบซเปเบเบปเบเปเบเบฑเบเบเบฒเบเบฐเบฅเบฒเบเบกเบฐเบเบฐเบเบตเปเปเบเบฑเบเบเบปเบงเปเบเบเบเบญเบเบเปเบฒเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฐเปเบ, เบซเบผเบท
&PL_sv_placeholder เบเปเบฒเบเปเปเบกเบตเบเปเบฒเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฐเปเบ.
SV * refcounted_he_fetch_pvn(
const struct refcounted_he *เบเปเบญเบเปเบชเป,
const char *keypv, STRLEN keylen, U32 hash,
เบเบธเบ U32
)
refcounted_he_fetch_pvs
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเบฑเบ "refcounted_he_fetch_pvn", เปเบเปเปเบเปเบเบปเบงเบซเบเบฑเบเบชเบทเปเบเบ a
เบเบนเปเบชเบฐเบเบฃเบดเบ/เบเบงเบฒเบกเบเบฒเบง, เปเบฅเบฐเบเปเปเบกเบต hash precomputed.
SV * refcounted_he_fetch_pvs(
const struct refcounted_he *เบเปเบญเบเปเบชเป,
const char *key, เบเบธเบ U32
)
refcounted_he_fetch_sv
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ "refcounted_he_fetch_pvn", เปเบเปเปเบเป Perl scalar เปเบเบ string/length.
เบเบนเป.
SV * refcounted_he_fetch_sv(
const struct refcounted_he *chain, SV *key,
U32 hash, U32 เบเบธเบ
)
refcounted_he_free
เบซเบผเบธเบเบเบณเบเบงเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเบเบญเบ "refcounted_he" เบฅเบปเบเปเบเบทเปเบญเบเบฝเบง. เบเปเบฒเบซเบฒเบเบงเปเบฒเบเบฒเบเบญเปเบฒเบเบญเบดเบ
count เบฎเบญเบเบชเบนเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบเบญเบเปเบเบเบชเปเบฒเบเปเบเปเบเบทเบเบเบปเบเบเปเบญเบ, เปเบเบดเปเบ (recursively) เปเบฎเบฑเบเปเบซเปเปเบเบตเบ a
เบเบฒเบเบซเบผเบธเบเบเปเบญเบเบเบฒเบเบเบฑเบเบญเปเบฒเบเบญเบตเบเบเบญเบเบเปเปเปเบกเป "refcounted_he". เบกเบฑเบเบเบญเบเปเบเบเบตเปเบเบฐเบเปเบฒเบ a
null pointer to this function: เบเปเปเบกเบตเบเบฒเบเบเบฐเบเบดเบเบฑเบเปเบเปเปเบเบตเบเบเบถเปเบเปเบเบเปเบฅเบฐเบเบตเบเบตเป.
void refcounted_he_free(เปเบเบเบชเปเบฒเบ refcounted_he *he)
refcounted_he_inc
เปเบเบตเปเบกเบเบณเบเบงเบเบญเปเบฒเบเบญเบตเบเบเบญเบ "refcounted_he". เบเบปเบงเบเบตเปเปเบเบซเบฒ
"refcounted_he" เบเบฑเบเบเบทเบเบชเบปเปเบเบเบทเบ. เบกเบฑเบเบเบญเบเปเบเบเบตเปเบเบฐเบเปเบฒเบเบเบปเบงเบเบตเป null เปเบเบเบตเป
เบเบฑเบเบเบฑเบ: เบเปเปเบกเบตเบเบฒเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเปเบเบตเบเบเบถเปเบเปเบฅเบฐเบเบปเบงเบเบตเป null เบเบทเบเบชเบปเปเบเบเบทเบ.
struct refcounted_he * refcounted_he_inc(
struct refcounted_he *เปเบเบปเบฒ
)
refcounted_he_new_pv
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ "refcounted_he_new_pvn", เปเบเปเปเบเป string เบเบตเปเปเบเบฑเบ nul-terminated เปเบเบ a
เบเบนเปเบชเบฒเบ/เบเบงเบฒเบกเบเบฒเบง.
struct refcounted_he * refcounted_he_new_pv(
struct refcounted_he *เบเปเปเปเบกเป,
const char *key, U32 hash,
SV *value, เบเบธเบ U32
)
refcounted_he_new_pvn
เบชเปเบฒเบ "refcounted_he". เบญเบฑเบเบเบตเปเบเบฐเบเบญเบเบเปเบงเบเบเบนเปเบเบต/เบเปเบฒเบญเบฑเบเบเบฝเบง เปเบฅเบฐ a
เบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป "refcounted_he" เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบง (เปเบเบดเปเบเบญเบฒเบเบเบฐเบซเบงเปเบฒเบเปเบเบปเปเบฒ), เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ
เบเบฐเบเบญเบเปเบเบฑเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบฒเบง. เปเบกเบทเปเบญเปเบเปเบเปเบญเบเปเบชเปเบเบตเปเบเบฒเบงเบเบงเปเบฒ, เบเบนเปเบเบต/เบเปเบฒเปเปเปเปเบเปเปเบงเบฅเบฒ
เบชเบณเบเบฑเบเบเบงเปเบฒเบเบฒเบเปเบเบปเปเบฒเปเบเปเบเปเบเบฒเบกเบชเบณเบฅเบฑเบเบเบฐเปเบเบเบฝเบงเบเบฑเบเบเปเปเปเบเบเบฒเบกเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป.
เบฅเบฐเบซเบฑเบเปเบซเบกเปเปเบกเปเบเบเปเบฒเบเบปเบเปเบเบ keypv เปเบฅเบฐ เบเบฐเปเบเบเบตเปเบขเบนเป เบเปเบฒเบซเบฒเบเบงเปเบฒ เบเบปเบ เบกเบตเบเบญเบ
"REFCOUNTED_HE_KEY_UTF8" เบเบดเบ, octets เบเบตเปเบชเปเบฒเบเบฑเบเบเบทเบเบเบตเบเบงเบฒเบกเบซเบกเบฒเบเปเบเบฑเบ UTF-8,
เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบเบงเบเบกเบฑเบเบเบทเบเบเบตเบเบงเบฒเบกเบงเปเบฒเปเบเบฑเบเบฅเบฒเบเบดเบ-1. hash เปเบเบฑเบ hash precomputed เบเบญเบเบเบตเปเบชเปเบฒเบเบฑเบ
string, เบซเบผเบทเบชเบนเบเบเปเบฒเบกเบฑเบเบเปเปเปเบเปเบเบทเบเบเบดเบเปเบฅเปเบฅเปเบงเบเปเปเบฒ.
เบกเบนเบเบเปเบฒ เปเบกเปเบโเบเปเบฒโเบชเบฐโเปเบเบฑเบโเบฅเบฒโเบเบตเปโเบเบฐโเปเบเบฑเบโเบฎเบฑเบโเบชเบฒโเบชเปเบฒโเบฅเบฑเบโเบเบฐโเปเบโเบเบตเปโ. เบกเบนเบเบเปเบฒ เบเบทเบเบเบฑเบเบฅเบญเบเปเบเบเบเบตเป
เบซเบเปเบฒเบเบตเป, เบเบถเปเบเบเบฑเปเบเบเบฑเปเบเบเบถเปเบเบเปเปเปเบเปเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเปเบเปเบเบฑเบเบกเบฑเบ, เปเบฅเบฐเบเปเปเบกเบฒ
เบเบฒเบโเบเปเบฝเบโเปเบเบโเบชเบฐโเปเบเบฑเบโเปเบเบดเบโเบเบฐโเบเปเปโเปเบเปโเบฎเบฑเบโเบเบฒเบโเบชเบฐโเบเปเบญเบโเปเบซเปโเปเบซเบฑเบโเปเบโเบเปเบฒโเบเบตเปโเบชเบฑเบโเปเบเบโเปเบซเบฑเบโเปเบโ
"refcounted_he". เบเบฐเปเบเบเบเบตเปเบเบฑเบเบเปเบญเบเบเบญเบ scalar เบเบฐเบเปเปเบเบทเบเปเบเบฑเบเปเบงเปเบเปเบงเบเบเบฒเบเบญเปเบฒเบเบญเบตเบ
เบเบงเบฒเบกเบเบทเปเบชเบฑเบ, เปเบเปเบเบฐเบเบทเบเบเบฑเบเบเบฑเบเปเบซเปเบชเบฒเบ. เบกเบนเบเบเปเบฒ เบญเบฒเบเบเบฐเปเบเบฑเบ null เบซเบผเบท
&PL_sv_placeholder เปเบเบทเปเบญเบเบตเปเบเบญเบเบงเปเบฒเบเปเปเบกเบตเบเปเบฒเบเบตเปเบเบฐเปเบเบทเปเบญเบกเปเบเบเบเบฑเบเบเบฐเปเบ;
เบญเบฑเบเบเบตเป, เปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบเปเบฒเบเบตเปเบเปเปเปเบกเปเบ null, เบกเบตเบเบงเบฒเบกเบชเบณเบเบฑเบเบเบงเปเบฒเบเบฒเบเบกเบตเบขเบนเปเบเบญเบเบเปเบฒ
เบชเปเบฒเบฅเบฑเบเบเบตเปเบชเปเบฒเบเบฑเบเบเปเปเปเบเบเบฒเบกเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป.
เบเปเปเปเบกเป เบเบตเปเปเบซเปเปเบซเบฑเบเบชเปเบงเบเบเบตเปเปเบซเบผเบทเบญเบเบญเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเป "refcounted_he" เบเบตเปเบเบฐเบเบดเบเบเบฑเบเปเบซเบกเป
"refcounted_he". เบเบฑเบเบเบฑเบเบเบตเปเปเบเปเปเบงเบฅเบฒเบเบงเบฒเบกเปเบเบฑเบเปเบเบปเปเบฒเบเบญเบเบซเบเบถเปเบเบญเปเบฒเบเบญเบตเบเปเบเบดเบ เบเปเปเปเบกเป, เปเบฅเบฐ
เบชเบปเปเบเบเบทเบเบเบฒเบเบญเปเบฒเบเบญเบตเบเบญเบฑเบเปเบถเปเบเปเบซเปเบเบฑเบ "refcounted_he".
struct refcounted_he * refcounted_he_new_pvn(
struct refcounted_he *เบเปเปเปเบกเป,
const char *keypv,
เบเบฐเปเบ STRLEN, U32 hash,
SV *value, เบเบธเบ U32
)
refcounted_he_new_pvs
เบเบทเบเบฑเบ "refcounted_he_new_pvn", เปเบเปเปเบเปเบเบปเบงเปเบฑเบเบชเบทเปเบเบ a
เบเบนเปเบชเบฐเบเบฃเบดเบ/เบเบงเบฒเบกเบเบฒเบง, เปเบฅเบฐเบเปเปเบกเบต hash precomputed.
struct refcounted_he * refcounted_he_new_pvs(
struct refcounted_he *เบเปเปเปเบกเป,
const char *key, SV *value,
เบเบธเบ U32
)
refcounted_he_new_sv
เปเบเบฑเปเบเบเบฝเบงเบเบฑเบ "refcounted_he_new_pvn", เปเบเปเปเบเป Perl scalar เปเบเบ string/length.
เบเบนเป.
struct refcounted_he * refcounted_he_new_sv(
struct refcounted_he *เบเปเปเปเบกเป,
SV *key, U32 hash, SV *value,
เบเบธเบ U32
)
IO เบซเบเปเบฒเบเบตเป
start_glob
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เบเบฑเบเบเบฑเบเบเบตเปเปเบญเบตเปเบเบงเปเบฒ "do_readline" เปเบเบทเปเบญเบเบฐเบซเบเบฒเบเปเบฅเบ (เบซเบผเบทเปเบฎเบฑเบ glob เบเบฒเบเปเบ perl on
VMS). เบฅเบฐเบซเบฑเบเบเบตเปเปเบเบตเบเบขเบนเปเปเบเปเบเบง, เปเบเปเบเบญเบเบเบตเป perl เปเบเป "File::Glob" เปเบฅเบเบเบตเป
starter เบเบทเบเบเปเบฒเปเบเปเปเบเบ miniperl เปเบเบปเปเบฒเบเบฑเปเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฐเบเบงเบเบเบฒเบเบชเปเบฒเบ. เบเบฒเบเปเบเบทเปเบญเบเบเปเบฒเบเบกเบฑเบเบญเบญเบเปเบเบเบฐเบซเบผเบธเบเบฅเบปเบ
pp_hot.c ; เบเบฒเบเบซเบปเบเบเบปเบง pp_hot.c เบเปเบงเบเปเบฅเบฑเปเบ perl.
PerlIO* start_glob(SV *tmpglob, IO *io)
เปเบฅเบตเปเบเบต เบเบฒเบเปเบเปเบเบญเบ
validate_proto
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เบเบฑเบเบเบฑเบเบเบตเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเบงเบเบชเบญเบ syntax เปเบเบเบปเปเบเปเบเบ, "proto". เบเปเบฒ "เปเบเบทเบญเบ" เปเบกเปเบ
เปเบเปเบเบดเบเปเบฅเปเบง, เบเบปเบงเบญเบฑเบเบชเบญเบเบเบตเปเบเบดเบเบเบปเบเปเบฒเบ เบซเบผเบทเบงเบปเบเปเบฅเบฑเบเบเบตเปเบเปเปเบเบปเบเบเบฑเบเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบปเบเปเบฒเบ
เบเบฒเบเปเบเบทเบญเบเปเบ, เบเบฐเบเบฒเบเบงเปเบฒเบเบงเบเปเบเบปเบฒเบเบทเบเบเบงเบเบเบปเบเปเบเบเบปเปเบเปเบเบเบชเปเบฒเบฅเบฑเบ "เบเบทเป".
เบเปเบฒเบเบฑเบเบเบทเบเปเบกเปเบ "เบเบงเบฒเบกเบเบดเบ" เบเปเบฒเบเบตเปเปเบกเปเบเบเบปเบงเปเบเบเบเบตเปเบเบทเบเบเปเบญเบ, เปเบฅเบฐ "เบเปเปเบเบทเบเบเปเบญเบ" เบเปเบฒเบกเบฑเบเบเปเปเปเบกเปเบ,
เปเบเบเบเปเปเบเปเบฒเบเบถเบเปเบเบดเบเบงเปเบฒ "เปเบเบทเบญเบ" เปเบกเปเบ "เบเบดเบ" เบซเบผเบท "เบเบดเบ".
เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ "NULL" เปเบกเปเบ "proto" เบเบตเปเบเบทเบเบเปเบญเบเปเบฅเบฐเบเบฐเบเบฑเบเบเบทเบ "เบเบดเบ".
เปเบฒเบเปเบซเบ: เปเบเบเบเบญเบก perl_ เบเบญเบเบเบฑเบเบเบฑเบเบเบตเปเบเบทเบเบเบปเบเปเบฅเบตเบ.
bool validate_proto(SV *เบเบทเป, SV *proto, bool warn)
magical เบซเบเปเบฒเบเบตเป
magic_clearhint
เบเบฐเบเบธเปเบเปเบเบเบเบฒเบเบฅเบถเบเบญเบญเบเบเบฒเบ %^H, เบเบฑเบเบเบถเบเบฅเบฐเบซเบฑเบเปเบชเป "PL_compiling.cop_hints_hash".
int magic_clearhint(SV* sv, MAGIC* mg)
magic_clearhints
เบเบฐเบเบธเปเบเปเบเบเบเบฒเบเบฅเบถเบเบฅเปเบฒเบ %^H, เบฃเบตเปเบเบฑเบ "PL_compiling.cop_hints_hash".
int magic_clearhints(SV* sv, MAGIC* mg)
magic_methcall
เบฎเบฝเบเบฎเปเบญเบเบงเบดเบเบตเบเบฒเบ magic (เปเบเบฑเปเบ: FETCH).
"sv" เปเบฅเบฐ "mg" เปเบกเปเบเบชเบดเปเบเบเบตเปเบเบนเบเบกเบฑเบเปเบฅเบฐ magic tie.
"meth" เปเบกเปเบเบเบทเปเบเบญเบเบงเบดเบเบตเบเบฒเบเปเบเบซเบฒ.
"argc" เปเบกเปเบเบเบณเบเบงเบเบเบญเบ args (เบเบญเบเปเปเบทเบญเปเบเบเบฒเบ $self) เปเบเบทเปเบญเบชเบปเปเบเปเบเบซเบฒเบงเบดเบเบตเบเบฒเบ.
"เบเบธเบ" เบชเบฒเบกเบฒเบเปเบเบฑเบ:
G_DISCARD เปเบญเบตเปเบเบงเบดเบเบตเบเบฒเบเบเบตเปเบกเบตเบเบธเบ G_DISCARD เปเบฅเบฐเบเปเป
เบชเบปเปเบเบเบทเบเบเปเบฒ
G_UNDEF_FILL เบเบทเปเบกเบเปเปเบกเบนเบเปเบชเป stack เบเปเบงเบเบเบปเบงเบเบตเป argc เบซเบฒ
PL_sv_undef
เบเบฒเบเปเบเปเบเบฝเบเบเบปเบงเบเบญเบเบกเบฑเบเปเบญเบเปเบกเปเบเบเปเบฒเปเบเปเบเบฒเบกเบเบฒเบเปเบเปเบเบฝเบ "เบเบธเบ".
เบชเบปเปเบเบเบทเบ SV (เบเปเบฒเบกเบต) เบชเบปเปเบเบเบทเบเปเบเบเบงเบดเบเบตเบเบฒเบ, เบซเบผเบท NULL เปเบเบเบงเบฒเบกเบฅเบปเปเบกเปเบซเบฅเบง.
SV* magic_methcall(SV *sv, const MAGIC *mg,
SV *meth, เบเบธเบ U32, U32 argc,
... )
magic_setint
เบเบฐเบเบธเปเบเปเบเบเบฎเปเบฒเบเบเปเบฒเปเบเบซเบฒ %^H, เบเบฑเบเบเบถเบเบเบนเปเบเบต/เบเปเบฒเปเบเบซเบฒ
"PL_compiling.cop_hints_hash". เบกเบฑเบเบชเบปเบกเบกเบธเบเบงเปเบฒเบเปเบฒเปเบเบฐเบเปเบฒเบเปเปเปเบเปเปเบเบฑเบเบฎเบฑเบเบชเบฒเบซเบเบฑเบเปเบงเป
เบเบตเปเบเบฐเบเปเบญเบเบเบฒเบเบชเปเบฒเปเบเบปเบฒเปเบฅเบดเบ. เบเบฒเบเบเบตเบเบงเบเปเบฎเบปเบฒเบเบงเบเปเบเบทเบญเบเบเปเบฒเบเบงเบเปเบฎเบปเบฒเบเบญเบเบซเบฒเปเบญเบเบฐเบชเบฒเบเบญเปเบฒเบเบญเบตเบ.
int magic_sethint(SV* sv, MAGIC* mg)
mg_localize
เบเบฑเบเบฅเบญเบเบเบฒเบเบชเปเบงเบเบเบญเบ magic เบเบฒเบ SV เบเบตเปเบกเบตเบขเบนเปเปเบฅเปเบงเปเบเบซเบฒเบชเบฐเบเบฑเบเบเบฒเบชเบฒเบเปเบญเบเบเบดเปเบเปเบซเบกเปเบเบญเบ SV เบเบฑเปเบ.
เบเบญเบเปเบเบเปเบเบต magic (เปเบเบฑเปเบ: %ENV, $1, tie) เปเบเปเบเบทเบเบชเบณเปเบเบปเบฒ, เบเปเบฒ magic เบเปเปเบกเบต (เปเบเบฑเปเบ: taint,
pos).
เบเปเบฒ setmagic เบเปเปเบเบทเบเบเปเบญเบเบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเปเปเบกเบต magic เบเบตเปเบเปเบฒเบเบปเบเปเบงเปเปเบ SV เปเบซเบกเป (เบซเบงเปเบฒเบเปเบเบปเปเบฒ). เบเบตเป
เปเบเบเบเบปเบเบเบฐเบเบดเบซเบกเบฒเบเบเบงเบฒเบกเบงเปเบฒเบเบฒเบเบกเบญเบเบซเบกเบฒเบเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบกเปเบเปเบงเปเบเบตเป (เปเบเบฑเปเบ: 'เบเปเบญเบเบเบดเปเบ $x = $y'), เปเบฅเบฐเบเบฑเปเบ
เบเบฐเบเบฑเบเบเบฒเบ magic เปเบเป.
void mg_localize(SV* sv, SV* nsv, bool setmagic)
Miscellaneous เบซเบเปเบฒเบเบตเป
free_c_backtrace
เบเบฑเบเบชเบฑเบ backtrace เบเบตเปเปเบเปเบฎเบฑเบเบเบฒเบ get_c_bracktrace.
void free_c_backtrace(Perl_c_backtrace* bt)
get_c_backtrace
เบฅเบงเบเบฅเบงเบก backtrace (เปเบญเบตเปเบเบงเปเบฒ "stacktrace") เปเบเบปเปเบฒเปเบเปเบ buffer malloced เปเบชเบฑเปเบเบเบฝเบง,
เปเบเบดเปเบเบเบนเปเปเบ เบเปเบญเบ Perl_free_c_backtrace().
เบชเบฐเปเบเบเปเบเบฃเบกเบเบทเบเปเบเบเบเบงเบฒเบกเปเบฅเบดเบ + เบเปเบฒเบก, เบเบฒเบเบเบฑเปเบเบงเบฒเบเบเบปเบงเบเปเบฒเบกเปเบเบปเปเบฒเปเบเบเปเบฒเบเปเบเบเบตเปเบชเบธเบ, เบเบฑเบเบเบทเบเบขเบนเปเบเบตเป
เบเบญเบเบเบงเบฒเบกเปเบฅเบดเบเบเบตเปเบชเบธเบ.
Perl_c_backtrace* get_c_backtrace(int max_depth,
เบเปเบฒเบก)
MRO เบซเบเปเบฒเบเบตเป
mro_get_linear_isa_dfs
เปเบซเปเบเบปเบเปเบเบฑเบเปเบชเบฑเปเบเบเบทเปเบเบฒเบเบเบปเปเบเบซเบฒเบเบงเบฒเบกเปเบฅเบดเบ-First เบเบญเบ @ISA stash เบเบตเปเปเบซเป. เบเบฑเบเบเบทเบ
เบเปเบฒเปเบกเปเบ AV เปเบเบเบญเปเบฒเบเปเบเบปเปเบฒเบเบฑเปเบ*. "เบฅเบฐเบเบฑเบ" เบเบงเบเบเบฐเปเบเบฑเบ 0 (เบกเบฑเบเบเบทเบเบเปเบฒเปเบเปเบเบฒเบเปเบเปเบเบเบตเป
เบเบฒเบเปเบญเบตเปเบเบเบทเบเบเบญเบเบเบฑเบเบเบฑเบ).
เบเปเบฒเบเบกเบตเบเบงเบฒเบกเบฎเบฑเบเบเบดเบเบเบญเบเบเปเป "SvREFCNT_inc()" เปเบเบกเบนเบเบเปเบฒเบเบฑเบเบเบทเบเบเปเบฒเบเปเบฒเบเบงเบฒเบเปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบฎเบฑเบเบชเบฒ
เบกเบฑเบเบขเบนเปเบเปเบญเบเปเบเบเปเปเบเปเปเบเบดเปเบเบเบฒเบงเบญเบ (เบเปเบฒเบเปเปเบเบฑเปเบเบเบฑเปเบเบกเบฑเบเบญเบฒเบเบเบฐเบเบทเบเบฅเบถเบเบญเบญเบเบเบฒเบเบเบฒเบเปเบเปเบเปเบฒเบ
เปเบเบเบฑเปเบเบเปเปเปเบ cache เบเปเปเบเบทเบเบเปเบญเบ).
AV* mro_get_linear_isa_dfs(HV* stash, เบฅเบฐเบเบฑเบ U32)
mro_isa_changed_in
เบเปเบฒเปเบเบตเบเบเบฑเปเบเบเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบ (cache invalidations, เบชเปเบงเบเบซเบผเบฒเบเปเบกเปเบ) เปเบเปเบงเบฅเบฒเบเบตเป @ISA เบเบญเบเบกเบญเบเปเบซเป
เปเบเบฑเบเปเบเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ. เบฎเบฝเบเบฎเปเบญเบเปเบเบ "setisa" magic, เบเปเปเบเบงเบเบฎเบฝเบเบฎเปเบญเบเปเบซเปเบฎเบฝเบเบฎเปเบญเบ
เปเบเบเบเบปเบ.
void mro_isa_changed_in(HV* stash)
mro_package_moved
เปเบเบซเบฒเบเบฑเบเบเบฑเบเบเบตเปเปเบเบทเปเบญเบชเบปเปเบเบชเบฑเบเบเบฒเบเบซเบฒเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบงเปเบฒเบกเบฑเบเปเบเปเบเบทเบเบกเบญเบเปเบฒเบเปเบซเปเบเปเบญเบเบญเบทเปเบเปเบฅเปเบง
เบขเบนเปเปเบเบฅเปเบฒเบเบฑเบเบเบฑเปเบเปเบเบฑเบเบกเปเบฝเบ. "stash" เปเบกเปเบ stash เบเบตเปเปเบเปเบเบทเบเบกเบญเบเบซเบกเบฒเบ. "เปเบเบปเปเบฒ"
เปเบกเปเบเบเปเบญเบเปเบเบฑเบเบกเปเบฝเบเบเบตเปเบกเบฑเบเบเปเบฝเบเปเบเบ, เบเปเบฒเบกเบต. "gv" เปเบกเปเบเปเบฅเบเบเบตเปเปเบเบฑเบเบเบดเบ
เบเบฒเบโเบกเบญเบโเบซเบกเบฒเบโเปเบซเป.
เบเบตเปเบเบฑเบเบชเบฒเบกเบฒเบเปเบญเบตเปเบเบงเปเบฒเบกเบตเบเบฒเบเปเบเปเบเบฝเบเบเปเบฒเบญเบดเบ null เปเบเบทเปเบญเบเบตเปเปเบซเปเปเบซเบฑเบเบงเปเบฒ "oldstash" เบกเบต
เบเบทเบเบฅเบถเบเปเบฅเปเบง.
เบเบฑเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเปเบซเป isa cache เบขเบนเปเปเบ stash เปเบเบปเปเบฒ, เปเบเบเบธเบเปเบเบฑเบเปเบเบฑเบเบเปเบญเบเบเบตเปเบงเบฒเบเปเบงเป
เบเบฒเบเปเบเบกเบฑเบ, เปเบฅเบฐเบขเบนเปเปเบ subclasses เบเบญเบเบเบฑเบเบซเบกเบปเบเปเบซเบผเบปเปเบฒเบเบฑเปเบ, เบฅเบงเบกเบเบฑเบเบเบฒเบเบซเบธเปเบกเบซเปเปเบเบตเปเบเปเปเบกเบตเบขเบนเปเปเบฅเปเบง
เบเบตเปเบกเบตเบฅเบฒเบเบเบฒเบเบเบตเปเบชเบญเบเบเปเบญเบเบเบฑเบเปเบ "stash".
เบกเบฑเบเบเบฑเบเบเปเบฒเบเบปเบเบเบทเปเบเบตเปเบกเบตเบเบฐเบชเบดเบเบเบดเบเบฒเบ ("HvENAME") เปเบ stashes เบเบฑเบเบซเบกเบปเบเบเบฒเบกเบเบงเบฒเบกเปเบซเบกเบฒเบฐเบชเบปเบก.
เบเปเบฒ "gv" เบกเบตเบขเบนเปเปเบฅเบฐเบเปเปเบขเบนเปเปเบเบเบฒเบเบฐเบฅเบฒเบเบชเบฑเบเบเบฒเบฅเบฑเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบ, เบซเบเปเบฒเบเบตเปเบเบตเปเบเปเบฒเบเบเบฒเบ
เบเบฑเบเบเบทเบ. เบเบฒเบเบเบงเบเบชเบญเบเบเบตเปเบเบฐเบเบทเบเบเปเบฒเบกเบเปเบฒ "เบเบธเบ & 1".
void mro_package_moved(HV * const stash,
HV * const oldstash,
const GV * const gv,
เบเบธเบ U32)
Optree เบเบฒเบเบเบฑเบเบเบฒเบ เบซเบเปเบฒเบเบตเป
finalize_optree
เบเบฑเบเบเบฑเบเบเบตเปเปเบฎเบฑเบเปเบซเปเบเบฒเบเปเบฅเบทเบญเบเบชเบธเบเบเปเบฒเบ. เบเบงเบเบเบฐเบเบทเบเปเบญเบตเปเบเปเบเบเบเบปเบเบซเบผเบฑเบเบเบฒเบเบชเปเบฒเปเบฅเบฑเบ
optree เบเบทเบเบชเปเบฒเบเบเบถเปเบ. เบกเบฑเบเปเบฎเบฑเบเบเบฒเบเบเบงเบเบชเบญเบเปเบเบตเปเบกเปเบเบตเบกเบเบฒเบเบขเปเบฒเบเบเบตเปเบเปเปเบชเบฒเบกเบฒเบเปเบฎเบฑเบเปเบเปเปเบ
เบเบฑเบเบเบฑเบ ck_xxx เบเบปเบเบเบฐเบเบดเปเบฅเบฐเปเบฎเบฑเบเปเบซเปเปเบชเบฑเปเบเบเปเบฒเบเบเบปเปเบเปเบกเปเบเบญเบเปเบ.
void finalize_optree(OP* o)
Pad เบเปเปเบกเบนเบ เปเบเบเบชเปเบฒเบ
CX_CURPAD_SAVE
เบเบฑเบเบเบถเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเปเบเปเบเบเบชเปเบฒเบเบเบฅเบฑเบญเบเบเปเบฅเบดเบเบปเบเบเบตเปเปเบซเปเปเบงเป.
เปเบกเบ CX_CURPAD_SAVE(เปเบเบเบชเปเบฒเบ)
CX_CURPAD_SV
เปเบเบปเปเบฒเปเบเบดเบ SV เบขเบนเปเบเบตเป offset po เปเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเบเบตเปเบเบฑเบเบเบถเบเปเบงเปเปเบเบเบฅเบฑเบญเบเบเปเบฅเบดเบเบปเบเบเบตเปเปเบซเป
เปเบเบเบชเปเบฒเบ (เบชเบฒเบกเบฒเบเปเบเปเปเบเบฑเบเบกเบนเบเบเปเบฒ).
SV * CX_CURPAD_SV(เปเบเบเบชเปเบฒเบ, PADOFFSET po)
PadnameIsOUR
เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบเบปเบงเปเบ "เบเบญเบเบเบงเบเปเบฎเบปเบฒ" เบซเบผเบทเบเปเป.
bool PadnameIsOUR(PADNAME pn)
PadnameIsSTATE
เบเปเปเบงเปเบฒเบเบฐเปเบเบฑเบเบเบปเบงเปเบ "เบฅเบฑเบ".
bool PadnameIsSTATE(PADNAME pn)
PadnameOURSTASH
stash เบเบตเปเบเบปเบงเปเบ "เบเบญเบเบเบงเบเปเบฎเบปเบฒ" เบเบตเปเปเบเปเบเบทเบเบเบฐเบเบฒเบ.
HV * PadnameOURSTASH()
PadnameOUTER
เบเปเปเบงเปเบฒเบฅเบฒเบเบเบฒเบเบเบตเปเปเบเบฑเบเบเบญเบเปเบเปเบเบเบญเบ. เบเบฒเบโเปเบเบปเปเบฒโเบกเบฒโเบเบตเปโเบเบตเปโเปเบกเปเบโเบเบงเบฒเบกโเบเบดเบโเปเบกเปเบโ
เบกเบฑเบเบเบฐเปเบญเบตเปเบเบงเปเบฒ 'เบเบญเบก'.
bool PadnameOUTER(PADNAME pn)
PadnameTYPE
stash เบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบ lexical เบเบดเบก. เบเบตเปเบชเบปเปเบเบเบทเบเบเปเบฒ %Foo:: hash เบชเปเบฒเบฅเบฑเบ "my
Foo $bar".
HV * PadnameTYPE(PADNAME pn)
PAD_BASE_SV
เปเบญเบปเบฒเบเปเบฒเบเบฒเบเบเปเบญเบเปเบชเป "po" เปเบเบเบฒเบ (DEPTH=1) pad เบเบญเบ padlist
SV * PAD_BASE_SV(PADLIST padlist, PADOFFSET po)
PAD_CLONE_VARS
Clone เบเบปเบงเปเบเบเบญเบเบฅเบฑเบเบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบฒเบเปเบฅเปเบเปเบฅเบฐเบเบฒเบเบฅเบงเบเบฅเบงเบกเปเบเปเบ.
เบซเบงเปเบฒเบ PAD_CLONE_VARS(PerlInterpreter *proto_perl,
CLONE_PARAMS* เบเบฒเบฃเบฒเบก)
PAD_COMPNAME_FLAGS
เบเบฑเบเบเบทเบเบเบธเบเบชเปเบฒเบฅเบฑเบเบเบทเป pad เบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฐเบเบธเบเบฑเบเบขเบนเปเบเบตเป offset "po". เบเบทเบงเปเบฒ เบ
เบเปเบญเบเปเบเบปเปเบฒเบเบตเปเบเบทเบเบเปเบญเบ.
U32 PAD_COMPNAME_FLAGS(PADOFFSET เปเบ)
PAD_COMPNAME_GEN
เบเปเบฒเบเบงเบเบเบฒเบเบเบฐเบฅเบดเบเบเบญเบเบเบทเปเบเบตเปเบเบปเบเปเบเบตเบ "po" เปเบเปเบเปเบเบฅเบงเบเบฅเบงเบกเบเบฐเบเบธเบเบฑเบ
(เบกเบนเบเบเปเบฒ). เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ "SvUVX" เบเบทเบ hijacked เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป.
STRLEN PAD_COMPNAME_GEN(PADOFFSET เบเป)
PAD_COMPNAME_GEN_set
เบเปเบฒเบเบปเบเบเปเบฒเบเบงเบเบเบฒเบเบเบฐเบฅเบดเบเบเบญเบเบเบทเปเบเบตเป offset "po" เปเบ ling pad เปเบเบเบฑเบเบเบธเบเบฑเบ
(lvalue) เบเบฑเบ "gen". เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒ "SvUV_set" เบเบทเบ hijacked เบชเปเบฒเบฅเบฑเบเบเบธเบเบเบฐเบชเบปเบเบเบตเป.
STRLEN PAD_COMPNAME_GEN_set(PADOFFSET po, int gen)
PAD_COMPNAME_OURSTASH
เบชเบปเปเบเบเบทเบ stash เบเบตเปเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบเบปเบงเปเบ "เบเบญเบเบเบงเบเปเบฎเบปเบฒ". เบชเบปเบกเบกเบธเบเบงเปเบฒเบเบฒเบเปเบเบปเปเบฒเบเปเบญเบเปเบกเปเบ a
เบเบทเบเบเปเบญเบ "เบเบญเบเบเบงเบเปเบฎเบปเบฒ" lexical.
HV * PAD_COMPNAME_OURSTASH(PADOFFSET po)
PAD_COMPNAME_PV
เบเบฑเบเบเบทเบเบเบทเปเบเบญเบเบเบทเปเปเบเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฐเบเบธเบเบฑเบเบขเบนเปเบเบตเป offset "po". เบเบทเบงเปเบฒเบเบทเบเบเปเบญเบ
เบเปเบญเบเปเบเบปเปเบฒ.
char * PAD_COMPNAME_PV(PADOFFSET po)
PAD_COMPNAME_TYPE
เบเบฑเบเบเบทเบเบเบฐเปเบเบ (stash) เบเบญเบเบเบทเปเปเบเปเบเบเบฒเบเบฅเบงเบเบฅเบงเบกเบเบฐเบเบธเบเบฑเบเบขเบนเปเบเบตเป offset "po". เบเปเบญเบเปเบเบฑเบ
เบเบทเปเบเบตเปเบเบทเบเบเปเบญเบ. เบเบญเบ null เบเปเบฒเบเปเปเปเบเปเบเบดเบก.
HV * PAD_COMPNAME_TYPE(PADOFFSET po)
PAD_RESTORE_LOCAL
เบเบทเปเบเบเบน pad เปเบเบปเปเบฒเบเบตเปเบเบฑเบเบเบถเบเปเบงเปเปเบ opad เบเบปเบงเปเบเบเปเบญเบเบเบดเปเบเปเบเบ PAD_SAVE_LOCAL()
เบซเบงเปเบฒเบ PAD_RESTORE_LOCAL(PAD *opad)
PAD_SAVE_LOCAL
เบเบฑเบเบเบถเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเปเบชเป oppad เบเบปเบงเปเบเบเปเบญเบเบเบดเปเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเปเบฎเบฑเบเปเบซเปเปเบเปเบเบเบฐเบเบธเบเบฑเบเปเบเบปเปเบฒเบเบฝเบกเบเบฑเบ
เปเบเบทเปเบญเปเบชเปเบเบฒ
เบซเบงเปเบฒเบ PAD_SAVE_LOCAL(PAD *opad, PAD *npad)
PAD_SAVE_SETNULLPAD
เบเบฑเบเบเบถเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเบเบฒเบเบเบฑเปเบเบเบฑเปเบเบกเบฑเบเปเบเบฑเบ null.
เบซเบงเปเบฒเบ PAD_SAVE_SETNULLPAD()
PAD_SETSV
เบเปเบฒเบเบปเบเบเปเบญเบเปเบชเป offset "po" เปเบ pad เปเบเบเบฑเบเบเบธเบเบฑเบเปเบเบฑเบ "sv"
SV * PAD_SETSV(PADOFFSET po, SV* sv)
PAD_SET_CUR
เบเบฑเปเบเบเปเบฒเปเบเปเบเบเบฑเบเบเบธเบเบฑเบเปเบเบฑเบ pad "n" เปเบ padlist, เบเปเบงเบเบเบฐเบขเบฑเบเปเบเปเบเบเบฐเบเบธเบเบฑเบเบเบตเปเบเปเบฒเบเบกเบฒ.
NB เปเบเบเบฑเบเบเบธเบเบฑเบ macro เบเบตเปเบเบฐเบซเบเบฒเบเปเบเปเบเบฑเบเบชเบฒเบเบเบฒเบงเปเบเบตเบเปเบเบชเปเบฒเบฅเบฑเบเบเบฒเบ compilers, เบชเบฐเบเบฑเปเบเบกเบฑเบ
เบเบตเบเบตเปเบชเบธเบเปเบเบทเปเบญเบเบปเบเปเบเบเบกเบฑเบ
SAVECOMPPAD();
PAD_SET_CUR_NOSAVE(padlist,n);
เบซเบงเปเบฒเบ PAD_SET_CUR(PADLIST padlist, I32 n)
PAD_SET_CUR_NOSAVE
เปเบเบฑเปเบ PAD_SET_CUR, เปเบเปเบเปเปเบกเบตเบเบฒเบเบเบฐเบซเบเบฑเบ
เบซเบงเปเบฒเบ PAD_SET_CUR_NOSAVE(PADLIST padlist, I32 n)
PAD_SV เปเบญเบปเบฒเบเปเบฒเบเบตเปเบเบปเบเปเบเบตเบ "po" เปเบเปเบเปเบเบเบฐเบเบธเบเบฑเบ
SV * PAD_SV(PADOFFSET po)
PAD_SVl เบฅเบธเปเบเบเปเบณเปเบฑเบเปเบเบปเบฒ เปเบฅเบฐ เบกเบนเบเบเปเบฒเบเบญเบ "PAD_SV". เปเบเปเบฎเบฑเบเบซเบผเบทเบเปเบฒเบเบปเบเบเปเบฒเบเบตเปเบเบปเบเปเบเบตเบ "po"
เปเบ pad เปเบเบเบฑเบเบเบธเบเบฑเบ. เบเปเปเบเบทเบเบฑเบ "PAD_SV", เบเปเปเปเบเปเบเบดเบกเบเบฒเบเบงเบดเบเบดเปเบชเบเปเบงเบ -DX. เบชเปเบฒเบฅเบฑเบ
เบเบฒเบเบเปเบฒเปเบเปเบเบฒเบเปเบเปเบเบปเปเบฒเบเบฑเปเบ.
SV * PAD_SVl(PADOFFSET po)
SAVECLEARSV
เบฅเปเบฒเบเบเบธเบเบเบตเปเบเบตเปเปเบเบซเบฒเบเปเบฒ pad เปเบเบเบฒเบเบญเบญเบเบเบญเบเปเบเบ. (เปเบเบฑเปเบ: runtime action เบเบญเบ 'my')
SAVECLEARSV(SV **svp) void
SAVECOMPPAD
เบเบฑเบเบเบถเบ PL_comppad เปเบฅเบฐ PL_curpad
SAVECOMPPAD() เปเบเบฑเบเปเบกเบเบฐ
SAVEPADSV
เบเบฑเบเบเบถเบเบเปเบญเบเปเบชเปเปเบเปเบ (เปเบเปเปเบเบทเปเบญเบเบทเปเบเบเบนเบซเบผเบฑเบเบเบฒเบเบเบฒเบเปเบฎเบฑเบเบเปเบณ)
XXX DAPM เบกเบฑเบเบกเบตเบเบงเบฒเบกเปเบฒเบเบซเบผเบฒเบเบเบงเปเบฒเบเบตเปเบเบฐเปเบฎเบฑเบเปเบซเป Arg เปเบเบฑเบ PADOFFSET
SAVEPADSV(PADOFFSET po) เปเบเบฑเบเปเบกเบเบฐ
เบเปเปเบเบฒเบเบเบฒเบชเบฒ Variables
PL_DB เบเบฝเบง
เปเบเปเบงเบฅเบฒเบเบตเป Perl เบเบทเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฎเบนเบเปเบเบ debugging, เบเบฑเบ -d switch, SV เบเบตเปเปเบกเปเบ boolean เบเบตเป
เบเบตเปเบเบญเบเบงเปเบฒเบเบฒเบเบเปเบญเบเบเบฐเบเบทเบเบเปเบฒเบงเบเบฝเบงเบซเบผเบทเบเปเป. เบเบฒเบเบเปเบฒเบงเบเบฝเบงเปเบกเปเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบ
เปเบเบตเบเบซเบผเบฑเบเบเบฒเบเบเบธเบเบเบฑเปเบเบเบญเบ. เบเบตเปเปเบกเปเบเบเบปเบงเปเบ C เปเบเบดเปเบเบเบปเบเบเบฑเบ Perl's
$DB::เบเบปเบงเปเบเบเบฝเบง. เปเบเบดเปเบ "PL_DBsub".
SV * PL_DBsingle
PL_DBsub
เปเบเปเบงเบฅเบฒเบเบตเป Perl เบเบทเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฎเบนเบเปเบเบ debugging, เบเบฑเบ -d เบชเบฐเบซเบผเบฑเบ, GV เบเบตเปเบเบฐเบเบญเบเบเปเบงเบ SV
เปเบเบดเปเบเบเบทเบเบทเปเบเบญเบเบเปเบญเบเบเบตเปเบเบทเบเบเบตเบเบฑเบ. เบเบตเปเปเบกเปเบเบเบปเบงเปเบ C เบเบตเป
เปเบเบปเปเบฒเบเบฑเบ Perl's $DB::sub variable. เปเบเบดเปเบ "PL_DBsingle".
GV * PL_DBsub
PL_DBtrace
เบเบปเบงเปเบเบเบฒเบเบเบดเบเบเบฒเบกเบเบตเปเปเบเปเปเบเปเบงเบฅเบฒเบเบตเป Perl เบเบทเบเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบฎเบนเบเปเบเบเบเบฒเบเบเบตเบเบฑเบ, เบเปเบงเบ -d เบชเบฐเบซเบผเบฑเบ. เบเบตเป
เปเบกเปเบเบเบปเบงเปเบ C เปเบเบดเปเบเบเบปเบเบเบฑเบเบเบปเบงเปเบเบเบญเบ Perl เบเบญเบ $DB::trace. เปเบเบดเปเบ
"PL_DBsingle".
SV * PL_DBtrace
PL_down
เบเบปเบงเปเบ C เบเบตเปเบเบปเบเบเบฑเบเบเบปเบงเปเบเปเบเบทเบญเบ $^W เบเบญเบ Perl.
bool PL_dowarn
PL_last_in_gv
GV เบเบตเปเบเบทเบเบเปเบฒเปเบเปเบเบฑเปเบเบชเบธเบเบเปเบฒเบเบชเปเบฒเบฅเบฑเบเบเบฒเบเบเบฐเบเบดเบเบฑเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบเปเบเบฅเป. (" ")
GV* PL_last_in_gv
PL_ofsgv
เปเบฅเบเบเบตเปเบกเบตเบเบปเบงเปเบเบเบเปเบญเบเบเปเปเบกเบนเบเบเบปเบเบเบฐเบฅเบดเบ - "*," เปเบเบเปเบญเบ Perl.
GV* PL_ofsgv
PL_rs เบเบปเบงเปเบเบเบเบฑเบเบเบถเบเบเบฒเบเบเปเบญเบเบเปเปเบกเบนเบ - $/ เปเบเบเปเบญเบ Perl.
SV* PL_rs
Stack เบเบฒเบเบเบฑเบเบเบฒเบ เบกเบฒเปเบเบฃ
djSP เบเบฐเบเบฒเบเบเบฝเบเปเบเป "SP". เบญเบฑเบเบเบตเปเปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบเบเบฑเบ "dSP", เปเบฅเบฐเบเบฐเบเบฒเบเบชเปเบฒเปเบเบปเบฒเบเปเบญเบเบเบดเปเบ
เบเบญเบเบเบปเบงเบเบตเป stack เบเบญเบ perl, เบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเบฒเบเบกเบฐเบซเบฒเบเบฒเบ "SP". เปเบเบดเปเบ "SP". (เบกเบตเปเบซเปเบชเปเบฒเบฅเบฑเบ
เบเบงเบฒเบกเปเบเบปเปเบฒเบเบฑเบเปเบเปเบเบญเบเบฅเบฐเบซเบฑเบเปเบซเบผเปเบเบเบฑเบเบเบทเบเปเบเบเปเบญเบเบเบฑเบเบฎเบนเบเปเบเบเบเบฐเบเบนเปเปเบเบปเปเบฒ (Perl 5.005).
djSP;
LVRET True เบเปเบฒ op เบเบตเปเบเบฐเปเบเบฑเบเบเปเบฒเบเบญเบเปเบเบเบเบญเบเบฅเบฒเบเบเบฒเบเบเปเบญเบ lvalue
SV เบเบฒเบเบเบฑเบเบเบฒเบ เบซเบเปเบฒเบเบตเป
SV (เบซเบผเบท AV, HV, เปเบฅเบฐเบญเบทเปเบเป) เบเบทเบเบเบฑเบเบชเบฑเบเปเบเบฑเบเบชเบญเบเบชเปเบงเบ: เบซเบปเบง (เปเบเบเบชเปเบฒเบ sv, av, hv ... )
เบเบฐโเบเบญเบโเบเปเบงเบโเบเปเปโเบกเบนเบโเบเบฒเบโเบเบฑเบโเบเบฐโเปเบเบโเปเบฅเบฐโเบเบฒเบโเบญเปเบฒเบโเบญเบตเบโ, เปเบฅเบฐโเบชเปเบฒโเบฅเบฑเบโเบซเบผเบฒเบโเบเบฐโเปเบเบโ, เบเบปเบงโเบเบตเปโเบเบฑเบโเบฎเปเบฒเบโเบเบฒเบโ
(struct xrv, xpv, xpviv...), เปเบเบดเปเบเบเบฐเบเบญเบเบเปเบงเบเบเปเบญเบเบเปเปเบกเบนเบเบชเบฐเปเบเบฒเบฐเปเบเปเบฅเบฐเบเบฐเปเบเบ. เบเบฒเบเบเบฐเปเบเบ
เปเบเบฑเบเบฎเบฑเบเบชเบฒเบชเบดเปเบเบเบตเปเบเบงเบเปเบเบปเบฒเบเปเบญเบเบเบฒเบเบขเบนเปเปเบเบซเบปเบง, เบเบฑเปเบเบเบฑเปเบเบเปเปเบกเบตเบฎเปเบฒเบเบเบฒเบ.
เปเบเบเบฑเบเปเบปเบเปเบเปเบเบฒเบเบเบณเบเบปเบเบเปเบฒเบเบงเบฒเบกเบเบปเบเบเบณเบเบตเปเปเบเบเบเบฐเบซเบผเบฒเบเบเบตเปเบชเบธเบ (เปเบเบฑเปเบ: PURIFY), เบซเบปเบง เปเบฅเบฐเบฎเปเบฒเบเบเบฒเบเปเบกเปเบ.
เบเบฑเบเบชเบฑเบเบญเบญเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒ, เปเบเบดเปเบเปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบกเปเบเบเบฐเบกเบฒเบ 4K chunks เบเบญเบเบซเบเปเบงเบเบเบงเบฒเบกเบเปเบฒ parceled
เบเบถเปเบเปเบเบฑเบ N เบซเบปเบงเบซเบผเบทเบฎเปเบฒเบเบเบฒเบ. Sv-bodies เบเบทเบเบเบฑเบเบชเบฑเบเปเบเบเบเบฐเปเบเบ sv เบเบญเบเบเบงเบเปเบเบปเบฒ, เบฎเบฑเบเบเบฐเบเบฑเบเบเบฐเบซเบเบฒเบ
เบเบงเบฒเบกเบชเบญเบเบเปเบญเบเบเบตเปเบเปเบฒเปเบเบฑเบเปเบเบทเปเบญเบเบฑเบเบชเบฑเบเบขเปเบฒเบเบเบญเบเปเบเบเบฒเบ arrays.
เบชเปเบฒเบฅเบฑเบ SV-heads, เบชเบฐเบฅเบฑเบญเบเบเบดเบเบเปเบฒเบญเบดเบเปเบเปเบเปเบฅเบฐเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒเปเบเปเบเบทเบเบชเบฐเบซเบเบงเบ, เปเบฅเบฐเบเบทเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบเบซเบฒเบเปเปเปเบ
เบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒ, เบเบธเบเบเบฒเบ, เปเบฅเบฐเบเบฑเบเบเบถเบเบเบญเบเบเปเบฒเบเบงเบเบเบญเบเบชเบฐเบฅเบฑเบญเบเบเบดเบ. Snaked เบเปเบฒเบเบฅเบฐเบเบปเบเบเปเบญเบเปเบชเปเบเบฒเบกเบซเบฅเบดเปเบเบเบดเบฅเบฒเปเบเปเบฅเบฐเบเบปเบเปเบกเปเบ
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบตเปเปเบเบทเปเบญเบกเปเบเบเบเบญเบเบฅเบฒเบเบเบฒเบเบเบฃเบต; เปเบเปเบงเบฅเบฒเบเบตเปเบเบตเปเบเบฒเบเปเบเบฑเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ, เบเบฒเบกเบซเบฅเบดเปเบเบเบดเบฅเบฒเบเบดเปเบชเบเปเบเปเบเบทเบเบเบฑเบเบชเบฑเบเปเบฅเบฐ
เปเบเปเบเบญเบญเบเปเบเบฑเบ N เบฅเบฒเบเบเบฒเบเบเบตเปเบเบทเบเบเบฑเบเปเบชเปเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบฃเบต.
SV-bodies เปเบกเปเบเบเปเบฒเบเบเบทเบเบฑเบ, เปเบเปเบเบงเบเปเบเบปเบฒเปเบเป arena-sets เปเบเบเบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบ, เปเบเบดเปเบเปเบเบเบเบฒเบเปเบเบทเปเบญเบกเบเปเปเปเบฅเบฐ
เบเปเปโเบกเบนเบโเบเบฒเบโเบชเบฐโเบซเบเบฒเบกโเบเบดโเบฅเบฒโเบเบปเบงโเบเบญเบโเบกเบฑเบโเปเบญเบโ, เปเบฅเบฐโเบฎเบฝเบโเบฎเปเบญเบโเปเบญเบปเบฒโเบเปเบญเบโเบเบต 1 เปเบโเบชเบฐโเบซเบเบฒเบกโเบเบดโเบฅเบฒโเปเบเปโ. SV-bodies เปเบกเปเบเบเบทเปเบกเบญเบตเบ
เบญเบฐเบเบดเบเบฒเบเบเปเปเบกเบฒ.
เบเบปเบงเปเบเบเบปเปเบงเปเบฅเบเบเปเปเปเบเบเบตเปเปเบกเปเบเบเปเบฝเบงเบเปเบญเบเบเบฑเบเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒ:
PL_sv_arenaroot เบเบปเบงเบเบตเปเปเบเบซเบฒเบฅเบฒเบเบเบทเป SV arenas
PL_sv_root เบเบปเบงเบเบตเปเปเบเบซเบฒเบฅเบฒเบเบเบทเปเปเบเบเบชเปเบฒเบ SV เบเบฃเบต
PL_body_arenas เบซเบปเบงเบซเบเปเบฒเบเบญเบ linked-list of body arenas
PL_body_roots[] array เบเบญเบเบเบปเบงเบเบตเปเปเบเบซเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฃเบตเบเบญเบ svtype
arrays เบเบทเบเบเบฑเบเบชเบฐเบเบตเปเบเบ svtype เบเบตเปเบเปเบญเบเบเบฒเบ
เบซเบปเบงเบซเบเปเบฒ SV เบเบดเปเบชเบเบเปเบฒเบเบงเบเบซเบเปเบญเบเบเปเปเปเบเปเบเบทเบเบเบฑเบเบชเบฑเบเบเบฒเบเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒ, เปเบเปเปเบเบเบเบตเปเบเบฐเบชเปเบฒเบเปเบเบเบเบปเบ
เปเบเปเบเบเบชเปเบฒเบเบเบฒเบเบเบฒเบชเบฒ, เบเบปเบงเบขเปเบฒเบ PL_sv_undef. เบเบฐเบซเบเบฒเบเบเบญเบ arenas เบชเบฒเบกเบฒเบเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบเบฒเบ
เบเปเบฒเปเบฅเบตเปเบกเบเบปเปเบเปเบเบเบเบฒเบเบเบฑเปเบเบเปเบฒ PERL_ARENA_SIZE เบขเปเบฒเบเปเปเบฒเบฐเบชเบปเบกเปเบเปเบงเบฅเบฒเบฅเบงเบเบฅเบงเบก.
เบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒ SV เปเบซเปเบเปเบฅเบดเบเบฒเบเบเบธเบเบเบฐเบชเบปเบเบเบตเบชเบญเบเบเบญเบเบเบฒเบเบญเบฐเบเบธเบเบฒเบเปเบซเป SVs เบเบตเปเบเบฑเบเบกเบตเบเบตเบงเบดเบเบขเบนเปเบเบฑเปเบเบขเบนเปเปเบฅเบฐ
เบเบทเบเบเปเบฒเบฅเบฒเบเปเบเบฅเบฐเบซเบงเปเบฒเบเบเบฒเบเบเปเบฒเบเบงเบฒเบกเบชเบฐเบญเบฒเบเบเบฑเปเบเบชเบธเบเบเปเบฒเบ.
เปเบเบฅเบฐเบเบฑเบเบเปเปเบฒเบชเบธเบ, เบกเบฐเบซเบฒเบเบฒเบ new_SV() เปเบฅเบฐ del_SV() เบเบฑเบเปเบฅเบฐเบเบปเบเบเปเบญเบเบซเบปเบง SV. (เบเปเบฒ
เบเบฒเบเบเบตเบเบฑเบเบเปเบงเบ -DD, del_SV() เปเบญเบตเปเบเบเบฑเบเบเบฑเบ S_del_sv() เปเบเบทเปเบญเบชเบปเปเบเบเบทเบ SV เปเบเบฑเบเบเบฃเบต
เบเบฑเบโเบเบตโเบฅเบฒเบโเบเบทเปโเบเบตเปโเบกเบตโเบเบฒเบโเบเบงเบโเบชเบญเบโเบเบงเบฒเบกโเบเบดเบโเบเบฒเบโ.) new_SV() เปเบ more_sv() / sv_add_arena() เปเบเบทเปเบญเปเบเบตเปเบกเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒเบเบดเปเบชเบ
เบเปเบฒเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบตเปเบเปเปเปเบชเบเบเปเบฒเปเบกเปเบเบซเบงเปเบฒเบเปเบเบปเปเบฒ. SVs เปเบเบฅเบฒเบเบเบทเปเบเบฃเบตเบกเบตเบเปเบญเบเบเปเปเบกเบนเบ SvTYPE เบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒเบเบฑเปเบเปเบเบฑเบเบเบธเบเบญเบฑเบ.
เปเบโเปเบงโเบฅเบฒโเบเปเบฒโเบเบงเบฒเบกโเบชเบฐโเบญเบฒเบโเบชเบธเบโเบเปเบฒเบโ, sv_free_arenas() เบเบทเบเปเบญเบตเปเบเบเบฒเบ perl_destruct() to
เบเปเปเปเบชเบเบเปเบฒเบเบฒเบเบฎเปเบฒเบเบเบฒเบเบเบธเบเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒเบเบตเปเบเบทเบเบเบฑเบเบชเบฑเบเบเบฑเปเบเปเบเปเบเบฒเบเปเบฅเบตเปเบกเบเบปเปเบเบเบญเบเบเบฒเบเบเบฒเบชเบฒ.
เบเบฑเบเบเบฑเบ เบขเปเบฝเบกเบขเบฒเบก() เบชเบฐเปเบเบเบฅเบฒเบเบเบฒเบ SV arenas, เปเบฅเบฐเปเบญเบตเปเบเบเบฑเบเบเบฑเบเบเบตเปเบฅเบฐเบเบธเปเบงเปเบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ SV
เบกเบฑเบเบเบปเบเบงเปเบฒเบญเบฑเบเปเบเบเบตเปเบเบฑเบเบกเบตเบเบตเบงเบดเบเบขเบนเป - ie เบเบตเปเบกเบต SvTYPE เบเบญเบเปเปเบทเบญเปเบเบเบฒเบเบเบฑเบเปเบปเบ 1, เปเบฅเบฐเบเปเปเบกเบตเบชเบนเบ.
SvREFCNT. เบขเปเบฝเบกเบขเบฒเบก() เบเบทเบเบเปเบฒเปเบเปเปเบเบเบซเบเปเบฒเบเบตเปเบเบฑเปเบเบเปเปเปเบเบเบตเป (เบฅเบฐเบเบธเปเบเบฑเบ [function เบเบตเปเปเบเบซเบฒ
เบขเปเบฝเบกเบขเบฒเบก()] / [เบเบฒเบเบเปเบฒเบเบฒเบเปเบญเบตเปเบเบงเปเบฒเปเบเบ เบขเปเบฝเบกเบขเบฒเบก() เบชเปเบฒเบฅเบฑเบเปเบเปเบฅเบฐ SV]):
sv_report_used() / do_report_used()
เบเบดเปเบก SVs เบเบตเปเบเบฑเบเปเบซเบผเบทเบญเบเบฑเบเปเบปเบ (เบเบฒเบเบเปเบงเบเปเบเปเบเบฑเบเบซเบฒ)
sv_clean_objs() / do_clean_objs(),do_clean_named_objs(),
do_clean_named_io_objs(),do_curse()
เบเบฐเบเบฒเบเบฒเบกเบเบปเบเบเปเบญเบเบงเบฑเบเบเบธเบเบฑเบเปเบปเบเบเบตเปเบเบตเปเปเบเบซเบฒ RVs,
เบเบฐเบเบฒเบเบฒเบกเปเบฎเบฑเบเปเบเบฑเปเบเบเบฝเบงเบเบฑเบเบชเปเบฒเบฅเบฑเบเบงเบฑเบเบเบธเบเบฑเบเบซเบกเบปเบ indir-
เบญเปเบฒเบเบญเบตเบ ectly เปเบเบ typeglobs เปเบเบตเบเปเบ, เปเบฅเบฐ
เบซเบผเบฑเบ เบเบฒเบ เบเบฑเปเบ เบเบงเบฒเบ เบชเบธเบ เบเปเบฒเบ, cursing เปเบ
เบงเบฑเบเบเบธเบเบตเปเบเบฑเบเปเบซเบผเบทเบญ. เปเบเบซเบฒเบเบฑเปเบเบเบฝเบงเบเบฒเบ
perl_destruct(), เบเปเบญเบเบเบตเปเบเบฐเปเบเบซเบฒ sv_clean_all()
เบเปเบฒเบเบฅเบธเปเบกเบเบตเป.
sv_clean_all() / do_clean_all()
SvREFCNT_dec(sv) เปเบเปเบฅเบฐ SV เบเบตเปเบเบฑเบเปเบซเบผเบทเบญ, เปเบเบฑเบเปเบเปเบเป
เบเบฐเบเบธเปเบ sv_free(). เบกเบฑเบเบเบฑเบเบเปเบฒเบเบปเบ
SVf_BREAK เบเบธเบเปเบ SV เปเบเบทเปเบญเบเบตเปเบเบญเบเบงเปเบฒ
refcnt เปเบเปเบเบทเบเบซเบผเบธเบเบฅเบปเบเบเบญเบก, เปเบฅเบฐเบเบฑเปเบเบเบฑเปเบ
เบเบฒเบเบขเบธเบเปเบเบปเบฒ sv_free() เบเบฒเบเบเบฒเบเปเบซเปเบเปเบฒเปเบเบทเบญเบเบเบตเปเบเบตเปเบฎเปเบฒเบ
เบเปเบฝเบงเบเบฑเบ SVs เบเบตเปเบเปเปเบเบฒเบเบเบดเบเบกเบต refcnt
เบเบญเบเบชเบนเบ. เปเบญเบตเปเบเบเปเบณเปเบเบฒเบ perl_destruct()
เบเบปเบเบเปเบงเบฒเบเปเปเบกเบต SVs เปเบซเบผเบทเบญ.
SvTHINKFIRST
เบเบงเบเปเบเบดเปเบเบเบธเบเบเปเบงเบเปเบเบทเปเบญเปเบเบดเปเบเบงเปเบฒ sv เบเบงเบเบเบฐเบเบทเบเบชเบปเปเบเบเบฑเบ sv_force_normal เบซเบผเบทเบเปเป
"เบซเบผเบธเบเบฅเบปเบ" เบเปเบญเบเบเบตเปเบเบฐ SvIVX เบซเบผเบท SvPVX เบชเบฒเบกเบฒเบเปเบเปเปเบเปเบเปเปเบเบเบเบปเบ.
เบเบปเบงเบขเปเบฒเบ, เบเปเบฒ scalar เบเบญเบเบเปเบฒเบเปเบกเปเบเบเบฒเบเบญเปเบฒเบเบญเบดเบเปเบฅเบฐเบเปเบฒเบเบเปเบญเบเบเบฒเบเบเบฑเบเปเบเบเบเปเบญเบ SvIVX,
เบเปเบฒเบเบเปเปเบชเบฒเบกเบฒเบเบเบฝเบเปเบเปเปเบฎเบฑเบ SvROK_off, เบเปเบญเบเบงเปเบฒเบกเบฑเบเบเบฐเบฎเบปเปเบงเปเบซเบฅเบเบญเบเปเบญเบเบฐเบชเบฒเบเบญเปเบฒเบเบญเบตเบ.
เบเบตเปเบเบทเบเบเปเบฒเปเบเปเบเบฒเบเปเบเปเบเบเบเบฑเบเบเบฑเบ sv-modifying เบเปเบฒเบเป, เปเบเบฑเปเบ: sv_setsv,
sv_setiv เปเบฅเบฐ sv_pvn_force.
เบเปเบฅเบฐเบเบตเบซเบเบถเปเบเบเบตเปเบชเบดเปเบเบเบตเปเบเปเปเปเบเปเบเบฑเบเบเบฒเบเปเบกเปเบ gv เปเบเบเบเปเปเบกเบตเบเบธเบ SvFAKE. เบซเบผเบฑเบเบเบฒเบ
เบเปเบฒ (SvTHINKFIRST(gv)) sv_force_normal(gv);
เบกเบฑเบเบเบฐเบเบฑเบเบเบปเบเปเบเบฑเบ gv.
SvTHINKFIRST เบเบฒเบเบเบฑเปเบเบเบฐเบฅเบดเบเบเบปเบเบเบงเบเบเบตเปเบเปเปเบเบทเบเบเปเบญเบ. เปเบเบเปเบฅเบฐเบเบตเปเบซเบผเบปเปเบฒเบเบฑเปเบ sv_force_normal
เบเปเปเปเบฎเบฑเบเบซเบเบฑเบ.
U32 SvTHINKFIRST(SV *sv)
sv_add_arena
เบกเบญเบเบเบงเบฒเบกเบเบปเบเบเปเบฒเบญเบฑเบเปเบถเปเบ, เปเบเบทเปเบญเบกเบเปเปเบกเบฑเบเบเบฑเบเบซเบปเบงเบเบญเบเบฅเบฒเบเบเบฒเบเบชเบฐเปเบฒเบก, เปเบฅเบฐเปเบเบเบกเบฑเบเบญเบญเบ
เปเบเบปเปเบฒเปเบเปเบเบเบฑเบเบเบตเบฅเบฒเบเบเบทเปเบเบญเบ SVs เบเบฃเบต.
void sv_add_arena(char *const ptr, const U32 size,
const เบเบธเบ U32)
sv_clean_all
เบซเบผเบธเบเบฅเบปเบ refcnt เบเบญเบเปเบเปเบฅเบฐ SV เบเบตเปเบเบฑเบเปเบซเบผเบทเบญ, เบญเบฒเบเบเบฐเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบฒเบเบเปเบฒเบเบงเบฒเบกเบชเบฐเบญเบฒเบ. เบเบตเป
เบเบฑเบเบเบฑเบเบญเบฒเบเบเบฐเบเปเบญเบเบเบทเบเปเบญเบตเปเบเบซเบผเบฒเบเบเบฑเปเบเปเบเบทเปเบญเปเบซเป SVs เบเบฃเบตเบเบตเปเบชเบฑเบเบชเบปเบ
เบฅเบณเบเบฑเบเบเบฒเบเบญเปเบฒเบเบญเบดเบเบเบปเบเปเบญเบ.
I32 sv_clean_all()
sv_clean_objs
เบเบฐเบเบฒเบเบฒเบกเบเปเบฒเบฅเบฒเบเบชเบดเปเบเบเบญเบเบเบฑเบเบซเบกเบปเบเบเบฑเบเบเปเปเบเบฑเบเปเบเปเบเบปเบเบเปเบญเบ.
void sv_clean_objs()
sv_free_arenas
เบเบฑเบเบชเบฑเบเปเปเบงเบเบเบงเบฒเบกเบเบณเบเบตเปเปเบเปเปเบเบเบเบธเบเบชเบฐเปเบฒเบก. เปเบซเปเบชเบฑเบเปเบเบเบงเปเบฒเบซเบปเบง SV เบชเปเบงเบเบเบธเบเบเบปเบเบเบฑเบเบซเบกเบปเบ
เปเบฅเบฐเบญเบปเบเบเบฒเบเบเบฑเบเบเบฑเปเบเบเบฒเบเปเบเบชเบฐเบซเบเบฒเบกเบเบดเบฅเบฒเบเปเบญเบเปเบเปเบฎเบฑเบเบเบฒเบเบเบปเบเบเปเบญเบเปเบฅเปเบง.
void sv_free_arenas()
SV-Body เบเบฒเบเบเบฑเบเบชเบฑเบ
sv_2num เบซเบกเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบเปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบเบซเบผเบทเบเบทเบเปเบเบเบเปเบฒเบเบญเบญเบเปเบเบเบเปเปเบกเบตเบเบฒเบเปเบเปเบเบเบฒเบ.
เบชเบปเปเบเบเบทเบ SV เบเบตเปเบกเบตเบเปเบฒเบเบปเบงเปเบฅเบเบเบญเบเปเบซเบผเปเบ SV, เบเปเบฒเปเบเบตเบเบเบฒเบเปเบเปเบเบตเปเบเปเบฒเปเบเบฑเบ
เบเบฒเบโเบญเปเบฒเบโเบญเบตเบโเบซเบผเบท overload conversion. เบเบฒเบโเบงเปเบฒโเบเบนเปโเปเบโเบเบฐโเปเบเปโเบฎเบฑเบโเบกเบท.
magic เปเบฅเปเบง.
SV* sv_2num(SV *const sv)
sv_copypv
เบชเบณเปเบเบปเบฒเบเบปเบงเปเบเบเบเบตเปเปเบเบฑเปเบกเบเบงเบเบเบญเบเปเบซเบผเปเบ SV เปเบเบปเปเบฒเปเบเปเบ SV เบเบฒเบเบเบฒเบ.
เบญเบฑเบเบเบฐเปเบเบกเบฑเบเบเบฐเบเบดเบเบฑเบ mg_get เบเบตเปเบเปเบฒเปเบเบฑเบเปเบฅเบฐเบเบฒเบเบเบตเบเบเบฑเบเบเบฑเบเบเบญเบเบเปเบฒเบเบปเบงเปเบฅเบเปเบเบปเปเบฒเปเบเปเบ
เบชเบฒเบ. เบฎเบฑเบเบเบฐเบเบฑเบเบเบตเปเบเบฐเบฎเบฑเบเบชเบฒเบเบธเบ UTF8 เปเบเบดเบเปเบกเปเบเบงเปเบฒเบเบฒเบเบงเบฑเบเบเบธ overloaded. เบเปเบฒเบเบเบทเบเบฑเบ
เปเบเบฅเบฑเบเบชเบฐเบเบฐเปเบเบฑเบ sv_2pv[_flags] เปเบเปเบเปเบฒเปเบเบตเบเบเบฒเบเปเบเบเบเบปเบเปเบ SV เปเบเบเบเบตเปเบเบฐเปเบเบฑเบเบเบฝเบเปเบเป.
เบชเบฒเบ. เบชเปเบงเบเปเบซเบเปเปเบเป sv_2pv_flags เปเบเบทเปเบญเปเบฎเบฑเบเบงเบฝเบเบเบญเบเบกเบฑเบ, เบเบปเบเปเบงเบฑเปเบเปเบงเบฅเบฒเบเบตเปเบกเบฑเบเบเบฐเบชเบนเบเปเบชเบ
UTF-8'ness เบเบญเบ PV.
void sv_copypv(SV *const dsv, SV *const ssv)
sv_ref เบเบฑเบเบเบทเบ SV เบเบตเปเบญเบฐเบเบดเบเบฒเบเบชเบดเปเบเบเบตเป SV เบเปเบฒเบเปเบเบปเปเบฒเบกเบฒเปเบกเปเบเบเบฒเบเบญเปเบฒเบเบญเบตเบ.
SV* sv_ref(SV *dst, const SV *const sv,
const int ob)
Unicode เบชเบฐเบซเบเบฑเบเบชเบฐเบซเบเบนเบ
find_uninit_var
เปเบฒเบเปเบซเบ: เบเบฑเบเบเบฑเบเบเบตเปเปเบกเปเบเบเบปเบเบฅเบญเบ เปเบฅเบฐเบญเบฒเบเบเบฐเบกเบตเบเบฒเบเบเปเบฝเบเปเบเบ เบซเบผเบทเบเบทเบเบเบญเบเบญเบญเบเปเบเบเบเปเปเปเบเปเปเบเปเบเปเบซเปเบฎเบนเปเบฅเปเบงเบเปเปเบฒ.
เบเบญเบเบซเบฒเบเบทเปเบเบญเบเบเบปเบงเปเบเบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบ (เบเปเบฒเบกเบต) เบเบตเปเปเบฎเบฑเบเปเบซเปเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบเบกเบตเบเบฑเบเบซเบฒ
เบเบฒเบเปเบเบทเบญเบ "เบเบฒเบเบเปเบฒเปเบเปเบกเบนเบเบเปเบฒเบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบเปเบงเป". เบเปเบฒเบเบปเบเบเบฑเบเปเบกเปเบเบเบทเบเบเปเบญเบ, เบเบฝเบเปเบเปเบชเบปเปเบเบเบทเปเบเปเบฒ
เบเปเบฒเบเบญเบเบกเบฑเบเบเบปเบเบเบฑเบ uninit_sv. เบชเบฐเบเบฑเปเบเปเบงเบปเปเบฒเบเบฐเบกเบฒเบ, เบเปเบฒเบเบนเปเบเบฐเบเบดเบเบฑเบเบเบฒเบ unary (เปเบเบฑเปเบ:
OP_COS) เบชเปเบฒเบเบเปเบฒเปเบเบทเบญเบ, เบซเบผเบฑเบเบเบฒเบเบเบฑเปเบเบเบฐเบเบดเบเบฑเบเบเบฒเบกเบฅเบนเบเปเบเบเบเบปเบเบเบญเบ op เบญเบฒเบเบเบฐเปเบซเปเบเบปเบเปเบเปเบฎเบฑเบ
OP_PADSV เบซเบผเบท OP_GV เบเบตเปเปเบซเปเบเบทเปเบเบญเบเบเบปเบงเปเบเบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบ. เบญเบตเบเบเปเบฒเบเบเบถเปเบ
เบกเบท, เบเปเบงเบ OP_ADD เบกเบตเบชเบญเบเบชเบฒเบเบฒเบเบตเปเบเบฐเบเบฐเบเบดเบเบฑเบเบเบฒเบก, เบเบฑเปเบเบเบฑเปเบเบเบงเบเปเบฎเบปเบฒเบเบฝเบเปเบเปเบเบดเบกเบเบปเบงเปเบ
เบเบทเปโเบเปเบฒโเบซเบฒเบโเบงเปเบฒโเบเบงเบโเปเบฎเบปเบฒโเปเบเปโเบฎเบฑเบโเบเบฒเบโเปเบเปเบโเบเบฑเบโเบเบตเปโเปเบเปโเบเบญเบโ. desc_p เบเบตเปเปเบเบซเบฒเบเบปเบงเบเบตเปเบชเบฐเบเบฃเบดเบเบเบตเปเบเบท
เบฅเบฒเบโเบฅเบฐโเบญเบฝเบโเบเบญเบ op. เบเบตเปเบญเบฒเบเบเบฐเปเบเปเบฎเบฑเบเบเบฒเบเบเบฑเบเบเบธเบเบเปเบฒเบเปเบฒเปเบเบฑเบ.
เบเบทเปเบเบทเบเบชเบปเปเบเบเบทเบเปเบเบฑเบ SV เบเบฒเบ.
เบชเบปเบกเบกเบธเบเบงเปเบฒ PL_op เปเบกเปเบ op เบเบตเปเปเบฎเบฑเบเปเบซเปเปเบเบตเบเบเบงเบฒเบกเบเบดเบเบเบฒเบเปเบเปเบเบทเปเบญเบเบเบปเปเบ, เปเบฅเบฐเบเบฑเปเบ
PL_comppad/PL_curpad เบเบตเปเปเบเบเบตเปเปเบเปเบเบเบตเปเบเบณเบฅเบฑเบเบเบฐเบเบดเบเบฑเบเบขเบนเป.
SV* find_uninit_var(const OP *const obase,
const SV *const uninit_sv,
bool match, const char **desc_p)
report_uninit
เบเบดเบกเบเปเบฒเปเบเบทเบญเบ "เบเบฒเบเบเปเบฒเปเบเปเบเบปเบงเปเบเบเบตเปเบเปเปเปเบเปเบเปเบฒเบเบปเบเปเบงเป" เบเบตเปเปเบซเบกเบฒเบฐเบชเบปเบก.
void report_uninit(const SV *uninit_sv)
เบเปเปเบกเบตเบซเบผเบฑเบเบเบฒเบเบขเบฑเปเบเบขเบทเบ เบซเบเปเบฒเบเบตเป
เปเปเบฒเบเบตเปเบเปเปเปเบเบเบตเปเปเบกเปเบเบเปเปเบกเบตเปเบญเบเบฐเบชเบฒเบ. เบเปเบฒเบเปเบฒเบเปเบเปเบซเบเบถเปเบเบเบญเบเบเบงเบเปเบเบปเบฒ, เบเปเบฒเบเบญเบฒเบเบเบฐเบเปเบญเบเบเบฒเบ
เบเบดเบเบฒเบฅเบฐเบเบฒเบชเปเบฒเบเปเบฅเบฐเบชเบปเปเบเปเบญเบเบฐเบชเบฒเบเบชเปเบฒเบฅเบฑเบเบกเบฑเบ.
PerlIO_restore_errno
PerlIO_save_errno
Slab_Alloc
Slab_Free
Slab_to_ro
Slab_to_rw
_add_range_to_invlist
_core_swash_init
_get_encoding
_get_swash_invlist
_invlist_array_init
_invlist_contains_cp
_invlist_contents
_invlist_dump
_invlist_intersection
_invlist_intersection_maybe_complement_2nd
_invlist_invert
_invlist_len
_invlist_populate_swatch
_invlist_search
_invlist_subtract
_invlist_union
_invlist_union_maybe_complement_2nd
_load_PL_utf8_foldcloses
_new_invlist
_setup_canned_invlist
_swash_inversion_hash
_swash_to_invlist
_to_fold_latin1
_to_upper_title_latin1
_warn_problematic_locale
aassign_common_vars
add_cp_to_invlist
alloc_maybe_populate_EXACT
เบเบฒเบเบเบฑเบเบชเบฑเบ
amagic_is_enabled
เบเปเบฒเปเบเป
av_extend_guts
av_reify
bind_match
boot_core_PerlIO
boot_core_UNIVERSAL
boot_core_mro
เปเบกเบทเปเบญโเปเบโ
check_utf8_print
ck_anoncode
ck_backtick
ck_bitop
ck_cmp
ck_concat
ck_เบเบทเบเบเปเบฒเบเบปเบ
ck_delete
ck_เปเบเปเบฅเบฐ
ck_entersub_args_core
ck_eof
ck_eval
ck_exec
ck_ เบกเบตเบขเบนเป
ck_ftst
ck_fun
ck_glob
ck_grep
ck_index
ck_join
ck_length
ck_lfun
ck_listiob
ck_match
ck_method
ck_null
ck_open
ck_prototype
ck_readline
ck_refassign
ck_repeat
ck_require
ck_return
ck_fun
ck_rvconst
ck_sassign
ck_select
ck_shift
ck_smartmatch
ck_sort
ck_spair
ck_split
ck_stringify
ck_subr
ck_substr
ck_svconst
ck_เบเบญเบ
ck_trunc
เบเบณเบซเบผเบงเบเปเบเปเบเบตเปเบชเบธเบ
compute_EXACTish
coresub_op
create_eval_scope
croak_no_mem
croak_popstack
current_re_engine
custom_op_get_field
cv_ckproto_len_flags
cv_clone_into
cv_const_sv_or_av
cv_undef_flags
cvgv_from_hek
cvgv_set
cvstash_set
deb_stack_all
defelem_target
delete_eval_scope
die_unwind
do_aexec
do_aexec5
do_eof
do_exec
do_exec3
do_execfree
do_ipcctl
do_ipcget
do_msgrcv
do_msgsnd
do_ncmp
do_open6
do_open_raw
do_print
do_readline
do_seek
do_semop
do_shmio
do_sysseek
do_เบเบญเบ
do_trans
do_vecget
do_vecset
do_vop
dofile
drand48_init_r
drand48_r
dump_all_perl
dump_packsubs_perl
dump_sub_perl
dump_sv_child
emulate_cop_io
feature_is_enabled
find_lexical_cv
เบเบญเบเบซเบฒ_runcv_where
find_rundefsv2
find_script
free_tied_hv_pool
get_and_check_backslash_N_name
get_db_sub
get_debug_opts
get_hash_seed
get_invlist_iter_addr
get_invlist_offset_addr
get_invlist_previous_index_addr
get_no_modify
get_opargs
get_re_arg
getenv_len
grok_atoUV
grok_bslash_x
gv_fetchmeth_เบเบฒเบเปเบ
gv_override
gv_setref
gv_stashpvn_เบเบฒเบเปเบ
gv_stashsvpvn_cached
hfree_next_entry
hv_backreferences_p
hv_kill_backrefs
hv_placeholders_p
hv_undef_flags
init_argv_symbols
init_constants
init_dbargs
init_debugger
เบเบตเปเบ
invlist_array
invlist_clone
invlist_highest
invlist_is_iterating
invlist_iterfinish
invlist_iterinit
invlist_max
invlist_previous_index
invlist_set_len
invlist_set_previous_index
invlist_trim
io_close
is_utf8_common
isinfnansv
jmabe
เบเปเบฒ
keyword_plugin_standard
เบเบฑเบเบเบตเบฅเบฒเบเบเบทเป
เบเปเบญเบเบเบดเปเบ
magic_clear_all_env
magic_cleararylen_p
magic_clearenv
magic_clearisa
magic_clearpack
magic_clearig
magic_copycallchecker
magic_existspack
magic_freearylen_p
magic_freeovrld
magic_get
magic_getarylen
magic_getdebugvar
magic_getdefelem
magic_getnkeys
magic_getpack
magic_getpos
magic_getsig
magic_getsubstr
magic_gettaint
magic_getuvar
magic_getvec
magic_killbackrefs
magic_nextpack
magic_regdata_cnt
magic_regdatum_get
magic_regdatum_set
magic_scalarpack
magic_set
magic_set_all_env
magic_setarylen
magic_setcolxfrm
magic_setdbline
magic_setdebugvar
magic_setdefelem
magic_setenv
magic_setisa
magic_setlvref
magic_setmglob
magic_setnkeys
magic_setpack
magic_setpos
magic_setregexp
magic_setsig
magic_setsubstr
magic_settaint
magic_setutf8
magic_setuvar
magic_setvec
magic_sizepack
magic_wipepack
malloc_good_size
malloced_size
mem_colxfrm
mg_find_mglob
mode_from_discipline
more_bodies
mro_meta_dup
mro_meta_init
multideref_stringify
my_attrs
my_clearenv
my_lstat_flags
my_stat_flags
my_unexec
เปเปเปATTRSUB_x
GP เปเบซเบกเป
newMETHOP_internal
newSTUB
เปเบซเบกเปSVavdefelem
newXS_deffile
newXS_len_flags
new_warnings_bitfield
Nextargv
noperl_die
oopsAV
oopsHV
op_clear
op_integerize
op_lvalue_flags
op_refcnt_dec
op_refcnt_inc
op_relocate_sv
op_std_init
op_unscope
opmethod_stash
opslab_force_free
opslab_free
opslab_free_nopad
เบเบธเบ
package_version
pad_add_weakref
padlist_store
padname_free
padnamelist_free
parse_subsignature
parse_unicode_opts
parser_free
parser_free_nexttoke_ops
path_is_searchable
peep
เปเบงเบฅเบฒเบเบฒเบเบเบทเบ
populate_isa
ptr_hash
เบเปเปเบเบดเบเบเบฒเบ
re_op_compile
reg_named_buff
reg_named_buff_iter
reg_numbered_buff_fetch
reg_numbered_buff_length
reg_numbered_buff_store
reg_qr_package
reg_skipcomment
reg_temp_copy
เปเบเบฑเบเบเบปเบเบเบฐเบเบด
regpposixcc
regprop
report_evil_fh
report_redefined_cv
report_wrongway_fh
เบเบตเบ
rsignal_restore
rsignal_save
rxres_save
same_dirent
save_aliased_sv
save_strlen
เปเบฅเบทเปเบญเบ
เบเบดเบง เปเบฑเบ
scalarvoid
set_caret_X
set_padlist
เบเบงเบ_warn_nl
เบเบนเปเบฎเบฑเบเบกเบท
softref2xv
ssc_add_range
ssc_clear_locale
ssc_cp_ เปเบฅเบฐ
ssc_intersection
ssc_union
sub_crush_depth
sv_add_backref
sv_buf_to_ro
sv_del_backref
sv_free2
sv_kill_backrefs
sv_len_utf8_nomg
sv_magicext_mglob
sv_mortalcopy_flags
sv_only_taint_gmagic
sv_or_pv_pos_u2b
sv_resetpvn
sv_sethek
sv_setsv_cow
sv_unglob
tied_method
tmps_grow_p
translate_substr_offsets
try_amagic_bin
try_amagic_un
unshare_hek
เบเบณ เปเบเป
varname
vivify_defelem
vivify_ref
wait4pid
was_lvalue_sub
เบชเบฑเบเปเบเบเปเบเบดเปเบ
win32_croak_not_implemented
write_to_stderr
xs_boot_epilog
xs_handshake
yyerror
yyerror_pv
yyerror_pvn
yylex
yyparse
yyunlex
AUTHORS
เบฅเบฐเบเบปเบเปเบญเบเบฐเบชเบฒเบเบญเบฑเบเบเบฐเปเบเบกเบฑเบเปเบเปเบเบทเบเปเบเบตเปเบกเปเบเบปเปเบฒเปเบเบซเบผเบฑเบ Perl เปเบเบ Benjamin Stuhl.
เปเบญเบเบฐเบชเบฒเบเปเบกเปเบเปเบเบเปเบเบเบตเปเบกเบตเปเบเบเบตเบเบฝเบเบเปเบเบตเปเบเบฐเบเบฑเบเบเบถเบเบซเบเปเบฒเบเบตเปเบเบญเบเปเบเบปเบฒเปเบเบปเปเบฒ.
เปเบเป perlintern เบญเบญเบเปเบฅเบเปเปเบเบเปเบเปเบเปเบฅเบดเบเบฒเบ onworks.net