Php/docs/internals2.opcodes.ticks

来自菜鸟教程
跳转至:导航、​搜索

TICKS

PHP code

<?php/* *  * opcode number: 105 */// A function that records the time when it is calledfunction profile(){   echo "profile function is called\n";}// Set up a tick handlerregister_tick_function("profile");// Initialize the function before the declare blockprofile();// Run a block of code, throw a tick every 2nd statementdeclare(ticks=2) {   for ($x = 0; $x < 10; ++$x) {         echo "hello world\n";   }}?>

PHP opcodes

Function name: (null)

Compiled variables: !0=$x

line # op fetch ext return operands
7 0 NOP        
13 1 SEND_VAL       'profile'
  2 DO_FCALL   1   'register_tick_function'
16 3 DO_FCALL   0   'profile'
20 4 ASSIGN       !0,0
  5 IS_SMALLER     ~3 !0,10
  6 JMPZNZ   9   ~3,->13
  7 PRE_INC       !0
  8 JMP       ->5
21 9 ECHO       'hello+world%0A'
  10 TICKS       2
22 11 TICKS       2
  12 JMP       ->7
  13 TICKS       2
23 14 TICKS       2
24 15 RETURN       1

Function name: profile

Compiled variables: none

line # op fetch ext return operands
9 0 ECHO       'profile+function+is+called%0A'
10 1 RETURN       null