PHP  
 PHP: Test and Code Coverage Analysis
downloads | QA | documentation | faq | getting help | mailing lists | reporting bugs | php.net sites | links | my php.net 
 

LCOV - code coverage report
Current view: top level - Zend - zend_vm_opcodes.c (source / functions) Hit Total Coverage
Test: PHP Code Coverage Lines: 4 4 100.0 %
Date: 2016-09-18 Functions: 2 2 100.0 %
Legend: Lines: hit not hit

          Line data    Source code
       1             : /*
       2             :    +----------------------------------------------------------------------+
       3             :    | Zend Engine                                                          |
       4             :    +----------------------------------------------------------------------+
       5             :    | Copyright (c) 1998-2016 Zend Technologies Ltd. (http://www.zend.com) |
       6             :    +----------------------------------------------------------------------+
       7             :    | This source file is subject to version 2.00 of the Zend license,     |
       8             :    | that is bundled with this package in the file LICENSE, and is        |
       9             :    | available through the world-wide-web at the following url:           |
      10             :    | http://www.zend.com/license/2_00.txt.                                |
      11             :    | If you did not receive a copy of the Zend license and are unable to  |
      12             :    | obtain it through the world-wide-web, please send a note to          |
      13             :    | license@zend.com so we can mail you a copy immediately.              |
      14             :    +----------------------------------------------------------------------+
      15             :    | Authors: Andi Gutmans <andi@zend.com>                                |
      16             :    |          Zeev Suraski <zeev@zend.com>                                |
      17             :    |          Dmitry Stogov <dmitry@zend.com>                             |
      18             :    +----------------------------------------------------------------------+
      19             : */
      20             : 
      21             : #include <stdio.h>
      22             : #include <zend.h>
      23             : 
      24             : static const char *zend_vm_opcodes_names[187] = {
      25             :         "ZEND_NOP",
      26             :         "ZEND_ADD",
      27             :         "ZEND_SUB",
      28             :         "ZEND_MUL",
      29             :         "ZEND_DIV",
      30             :         "ZEND_MOD",
      31             :         "ZEND_SL",
      32             :         "ZEND_SR",
      33             :         "ZEND_CONCAT",
      34             :         "ZEND_BW_OR",
      35             :         "ZEND_BW_AND",
      36             :         "ZEND_BW_XOR",
      37             :         "ZEND_BW_NOT",
      38             :         "ZEND_BOOL_NOT",
      39             :         "ZEND_BOOL_XOR",
      40             :         "ZEND_IS_IDENTICAL",
      41             :         "ZEND_IS_NOT_IDENTICAL",
      42             :         "ZEND_IS_EQUAL",
      43             :         "ZEND_IS_NOT_EQUAL",
      44             :         "ZEND_IS_SMALLER",
      45             :         "ZEND_IS_SMALLER_OR_EQUAL",
      46             :         "ZEND_CAST",
      47             :         "ZEND_QM_ASSIGN",
      48             :         "ZEND_ASSIGN_ADD",
      49             :         "ZEND_ASSIGN_SUB",
      50             :         "ZEND_ASSIGN_MUL",
      51             :         "ZEND_ASSIGN_DIV",
      52             :         "ZEND_ASSIGN_MOD",
      53             :         "ZEND_ASSIGN_SL",
      54             :         "ZEND_ASSIGN_SR",
      55             :         "ZEND_ASSIGN_CONCAT",
      56             :         "ZEND_ASSIGN_BW_OR",
      57             :         "ZEND_ASSIGN_BW_AND",
      58             :         "ZEND_ASSIGN_BW_XOR",
      59             :         "ZEND_PRE_INC",
      60             :         "ZEND_PRE_DEC",
      61             :         "ZEND_POST_INC",
      62             :         "ZEND_POST_DEC",
      63             :         "ZEND_ASSIGN",
      64             :         "ZEND_ASSIGN_REF",
      65             :         "ZEND_ECHO",
      66             :         "ZEND_GENERATOR_CREATE",
      67             :         "ZEND_JMP",
      68             :         "ZEND_JMPZ",
      69             :         "ZEND_JMPNZ",
      70             :         "ZEND_JMPZNZ",
      71             :         "ZEND_JMPZ_EX",
      72             :         "ZEND_JMPNZ_EX",
      73             :         "ZEND_CASE",
      74             :         "ZEND_CHECK_VAR",
      75             :         "ZEND_SEND_VAR_NO_REF_EX",
      76             :         "ZEND_MAKE_REF",
      77             :         "ZEND_BOOL",
      78             :         "ZEND_FAST_CONCAT",
      79             :         "ZEND_ROPE_INIT",
      80             :         "ZEND_ROPE_ADD",
      81             :         "ZEND_ROPE_END",
      82             :         "ZEND_BEGIN_SILENCE",
      83             :         "ZEND_END_SILENCE",
      84             :         "ZEND_INIT_FCALL_BY_NAME",
      85             :         "ZEND_DO_FCALL",
      86             :         "ZEND_INIT_FCALL",
      87             :         "ZEND_RETURN",
      88             :         "ZEND_RECV",
      89             :         "ZEND_RECV_INIT",
      90             :         "ZEND_SEND_VAL",
      91             :         "ZEND_SEND_VAR_EX",
      92             :         "ZEND_SEND_REF",
      93             :         "ZEND_NEW",
      94             :         "ZEND_INIT_NS_FCALL_BY_NAME",
      95             :         "ZEND_FREE",
      96             :         "ZEND_INIT_ARRAY",
      97             :         "ZEND_ADD_ARRAY_ELEMENT",
      98             :         "ZEND_INCLUDE_OR_EVAL",
      99             :         "ZEND_UNSET_VAR",
     100             :         "ZEND_UNSET_DIM",
     101             :         "ZEND_UNSET_OBJ",
     102             :         "ZEND_FE_RESET_R",
     103             :         "ZEND_FE_FETCH_R",
     104             :         "ZEND_EXIT",
     105             :         "ZEND_FETCH_R",
     106             :         "ZEND_FETCH_DIM_R",
     107             :         "ZEND_FETCH_OBJ_R",
     108             :         "ZEND_FETCH_W",
     109             :         "ZEND_FETCH_DIM_W",
     110             :         "ZEND_FETCH_OBJ_W",
     111             :         "ZEND_FETCH_RW",
     112             :         "ZEND_FETCH_DIM_RW",
     113             :         "ZEND_FETCH_OBJ_RW",
     114             :         "ZEND_FETCH_IS",
     115             :         "ZEND_FETCH_DIM_IS",
     116             :         "ZEND_FETCH_OBJ_IS",
     117             :         "ZEND_FETCH_FUNC_ARG",
     118             :         "ZEND_FETCH_DIM_FUNC_ARG",
     119             :         "ZEND_FETCH_OBJ_FUNC_ARG",
     120             :         "ZEND_FETCH_UNSET",
     121             :         "ZEND_FETCH_DIM_UNSET",
     122             :         "ZEND_FETCH_OBJ_UNSET",
     123             :         "ZEND_FETCH_LIST",
     124             :         "ZEND_FETCH_CONSTANT",
     125             :         NULL,
     126             :         "ZEND_EXT_STMT",
     127             :         "ZEND_EXT_FCALL_BEGIN",
     128             :         "ZEND_EXT_FCALL_END",
     129             :         "ZEND_EXT_NOP",
     130             :         "ZEND_TICKS",
     131             :         "ZEND_SEND_VAR_NO_REF",
     132             :         "ZEND_CATCH",
     133             :         "ZEND_THROW",
     134             :         "ZEND_FETCH_CLASS",
     135             :         "ZEND_CLONE",
     136             :         "ZEND_RETURN_BY_REF",
     137             :         "ZEND_INIT_METHOD_CALL",
     138             :         "ZEND_INIT_STATIC_METHOD_CALL",
     139             :         "ZEND_ISSET_ISEMPTY_VAR",
     140             :         "ZEND_ISSET_ISEMPTY_DIM_OBJ",
     141             :         "ZEND_SEND_VAL_EX",
     142             :         "ZEND_SEND_VAR",
     143             :         "ZEND_INIT_USER_CALL",
     144             :         "ZEND_SEND_ARRAY",
     145             :         "ZEND_SEND_USER",
     146             :         "ZEND_STRLEN",
     147             :         "ZEND_DEFINED",
     148             :         "ZEND_TYPE_CHECK",
     149             :         "ZEND_VERIFY_RETURN_TYPE",
     150             :         "ZEND_FE_RESET_RW",
     151             :         "ZEND_FE_FETCH_RW",
     152             :         "ZEND_FE_FREE",
     153             :         "ZEND_INIT_DYNAMIC_CALL",
     154             :         "ZEND_DO_ICALL",
     155             :         "ZEND_DO_UCALL",
     156             :         "ZEND_DO_FCALL_BY_NAME",
     157             :         "ZEND_PRE_INC_OBJ",
     158             :         "ZEND_PRE_DEC_OBJ",
     159             :         "ZEND_POST_INC_OBJ",
     160             :         "ZEND_POST_DEC_OBJ",
     161             :         "ZEND_ASSIGN_OBJ",
     162             :         "ZEND_OP_DATA",
     163             :         "ZEND_INSTANCEOF",
     164             :         "ZEND_DECLARE_CLASS",
     165             :         "ZEND_DECLARE_INHERITED_CLASS",
     166             :         "ZEND_DECLARE_FUNCTION",
     167             :         "ZEND_YIELD_FROM",
     168             :         "ZEND_DECLARE_CONST",
     169             :         "ZEND_ADD_INTERFACE",
     170             :         "ZEND_DECLARE_INHERITED_CLASS_DELAYED",
     171             :         "ZEND_VERIFY_ABSTRACT_CLASS",
     172             :         "ZEND_ASSIGN_DIM",
     173             :         "ZEND_ISSET_ISEMPTY_PROP_OBJ",
     174             :         "ZEND_HANDLE_EXCEPTION",
     175             :         "ZEND_USER_OPCODE",
     176             :         "ZEND_ASSERT_CHECK",
     177             :         "ZEND_JMP_SET",
     178             :         "ZEND_DECLARE_LAMBDA_FUNCTION",
     179             :         "ZEND_ADD_TRAIT",
     180             :         "ZEND_BIND_TRAITS",
     181             :         "ZEND_SEPARATE",
     182             :         "ZEND_FETCH_CLASS_NAME",
     183             :         "ZEND_CALL_TRAMPOLINE",
     184             :         "ZEND_DISCARD_EXCEPTION",
     185             :         "ZEND_YIELD",
     186             :         "ZEND_GENERATOR_RETURN",
     187             :         "ZEND_FAST_CALL",
     188             :         "ZEND_FAST_RET",
     189             :         "ZEND_RECV_VARIADIC",
     190             :         "ZEND_SEND_UNPACK",
     191             :         "ZEND_POW",
     192             :         "ZEND_ASSIGN_POW",
     193             :         "ZEND_BIND_GLOBAL",
     194             :         "ZEND_COALESCE",
     195             :         "ZEND_SPACESHIP",
     196             :         "ZEND_DECLARE_ANON_CLASS",
     197             :         "ZEND_DECLARE_ANON_INHERITED_CLASS",
     198             :         "ZEND_FETCH_STATIC_PROP_R",
     199             :         "ZEND_FETCH_STATIC_PROP_W",
     200             :         "ZEND_FETCH_STATIC_PROP_RW",
     201             :         "ZEND_FETCH_STATIC_PROP_IS",
     202             :         "ZEND_FETCH_STATIC_PROP_FUNC_ARG",
     203             :         "ZEND_FETCH_STATIC_PROP_UNSET",
     204             :         "ZEND_UNSET_STATIC_PROP",
     205             :         "ZEND_ISSET_ISEMPTY_STATIC_PROP",
     206             :         "ZEND_FETCH_CLASS_CONSTANT",
     207             :         "ZEND_BIND_LEXICAL",
     208             :         "ZEND_BIND_STATIC",
     209             :         "ZEND_FETCH_THIS",
     210             :         NULL,
     211             :         "ZEND_ISSET_ISEMPTY_THIS",
     212             : };
     213             : 
     214             : static uint32_t zend_vm_opcodes_flags[187] = {
     215             :         0x00000000,
     216             :         0x00000707,
     217             :         0x00000707,
     218             :         0x00000707,
     219             :         0x00000707,
     220             :         0x00000707,
     221             :         0x00000707,
     222             :         0x00000707,
     223             :         0x00000707,
     224             :         0x00000707,
     225             :         0x00000707,
     226             :         0x00000707,
     227             :         0x00000007,
     228             :         0x00000007,
     229             :         0x00000707,
     230             :         0x00000303,
     231             :         0x00000303,
     232             :         0x00000707,
     233             :         0x00000707,
     234             :         0x00000707,
     235             :         0x00000707,
     236             :         0x07000003,
     237             :         0x00000003,
     238             :         0x04006751,
     239             :         0x04006751,
     240             :         0x04006751,
     241             :         0x04006751,
     242             :         0x04006751,
     243             :         0x04006751,
     244             :         0x04006751,
     245             :         0x04006751,
     246             :         0x04006751,
     247             :         0x04006751,
     248             :         0x04006751,
     249             :         0x00000001,
     250             :         0x00000001,
     251             :         0x00000001,
     252             :         0x00000001,
     253             :         0x00000301,
     254             :         0x0b000101,
     255             :         0x00000007,
     256             :         0x00000000,
     257             :         0x00000020,
     258             :         0x00002007,
     259             :         0x00002007,
     260             :         0x03002007,
     261             :         0x00002007,
     262             :         0x00002007,
     263             :         0x00000707,
     264             :         0x00000101,
     265             :         0x00001001,
     266             :         0x00000101,
     267             :         0x00000007,
     268             :         0x00000707,
     269             :         0x01000701,
     270             :         0x01000701,
     271             :         0x01000701,
     272             :         0x00000000,
     273             :         0x00000001,
     274             :         0x01000300,
     275             :         0x00000000,
     276             :         0x01000310,
     277             :         0x00000003,
     278             :         0x00000010,
     279             :         0x00000310,
     280             :         0x00001007,
     281             :         0x00001001,
     282             :         0x00001001,
     283             :         0x01000073,
     284             :         0x01000300,
     285             :         0x00004005,
     286             :         0x00186703,
     287             :         0x00106703,
     288             :         0x08000007,
     289             :         0x00030107,
     290             :         0x00000701,
     291             :         0x00000751,
     292             :         0x00002003,
     293             :         0x03000001,
     294             :         0x00000007,
     295             :         0x00010107,
     296             :         0x00000707,
     297             :         0x00000753,
     298             :         0x00010107,
     299             :         0x00006701,
     300             :         0x00000751,
     301             :         0x00010107,
     302             :         0x00006701,
     303             :         0x00000751,
     304             :         0x00010107,
     305             :         0x00000707,
     306             :         0x00000757,
     307             :         0x00050107,
     308             :         0x01006703,
     309             :         0x01000753,
     310             :         0x00010107,
     311             :         0x00000701,
     312             :         0x00000751,
     313             :         0x00000707,
     314             :         0x06000301,
     315             :         0x00000000,
     316             :         0x00000000,
     317             :         0x00000000,
     318             :         0x00000000,
     319             :         0x00000000,
     320             :         0x01000000,
     321             :         0x00001001,
     322             :         0x03000103,
     323             :         0x00000003,
     324             :         0x05000700,
     325             :         0x00000057,
     326             :         0x0b000003,
     327             :         0x01000757,
     328             :         0x01008773,
     329             :         0x00030107,
     330             :         0x00020707,
     331             :         0x00001003,
     332             :         0x00001001,
     333             :         0x01000703,
     334             :         0x00000000,
     335             :         0x00001001,
     336             :         0x00000007,
     337             :         0x00000003,
     338             :         0x07000003,
     339             :         0x00000103,
     340             :         0x00002003,
     341             :         0x03000001,
     342             :         0x00004005,
     343             :         0x01000700,
     344             :         0x00000000,
     345             :         0x00000000,
     346             :         0x00000000,
     347             :         0x00000751,
     348             :         0x00000751,
     349             :         0x00000751,
     350             :         0x00000751,
     351             :         0x00000751,
     352             :         0x00000000,
     353             :         0x00007305,
     354             :         0x00000000,
     355             :         0x00000100,
     356             :         0x00000000,
     357             :         0x00000003,
     358             :         0x00000303,
     359             :         0x00000300,
     360             :         0x00000100,
     361             :         0x00000000,
     362             :         0x00006701,
     363             :         0x00020757,
     364             :         0x00000000,
     365             :         0x00000000,
     366             :         0x00002000,
     367             :         0x00002003,
     368             :         0x00000103,
     369             :         0x00000000,
     370             :         0x00000000,
     371             :         0x00000101,
     372             :         0x05000000,
     373             :         0x00000000,
     374             :         0x00000000,
     375             :         0x0b000303,
     376             :         0x00000003,
     377             :         0x00000020,
     378             :         0x00003000,
     379             :         0x00000010,
     380             :         0x00000000,
     381             :         0x00000707,
     382             :         0x04006751,
     383             :         0x00000301,
     384             :         0x00002003,
     385             :         0x00000707,
     386             :         0x03000000,
     387             :         0x03000100,
     388             :         0x00007307,
     389             :         0x00007307,
     390             :         0x00007307,
     391             :         0x00007307,
     392             :         0x01007307,
     393             :         0x00007307,
     394             :         0x00007307,
     395             :         0x00027307,
     396             :         0x00000373,
     397             :         0x00100101,
     398             :         0x00100301,
     399             :         0x00000101,
     400             :         0x00000000,
     401             :         0x00000101,
     402             : };
     403             : 
     404          67 : ZEND_API const char* zend_get_opcode_name(zend_uchar opcode) {
     405          67 :         return zend_vm_opcodes_names[opcode];
     406             : }
     407          49 : ZEND_API uint32_t zend_get_opcode_flags(zend_uchar opcode) {
     408          49 :         return zend_vm_opcodes_flags[opcode];
     409             : }

Generated by: LCOV version 1.10

Generated at Sun, 18 Sep 2016 08:20:03 +0000 (7 days ago)

Copyright © 2005-2016 The PHP Group
All rights reserved.