History log of /php-src/Zend/zend_opcode.c (Results 226 – 250 of 462)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
(<<< Hide modified files)
(Show modified files >>>)
# 2646f7bc 22-Dec-2014 Dmitry Stogov

Don't count variadic argument in zend_func.common.num_args. This allows faster CALL/RETURN code.

Revision tags: POST_NATIVE_TLS_MERGE, PRE_NATIVE_TLS_MERGE, php-5.5.20, php-5.4.36, php-5.6.4
# bdeb220f 13-Dec-2014 Anatol Belski

first shot remove TSRMLS_* things

# 14e29f51 12-Dec-2014 Dmitry Stogov

Reduced size of zend_op on 64-bit systems.

the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces

Reduced size of zend_op on 64-bit systems.

the main idea - the smaller the zend_op structure, the lees memory traffic is required to load VM instructions during execution. The patch reduces the size of each opcode from 48 to 32 bytes (saves 16 bytes for each opcode, and applications use thousands of opoceds). This reduced the number of CPU cache misses by 12% and improved performance of real-life apps by 1-2%.

The patch affects how constants and jump targets are represented in VM during execution. Previously they were implemented as absolute 64-bit pointers. Now they are relative 32-bit offsets.

In run-time constant now should be accessed as:
RT_CONSTANT(op_array, opine->op1) instead of opline->op1.zv
EX_CONSTANT(opline->op1) instead of opline->op1.zv

Jump targets:
OP_JMP_ADDR(opline, opline->op2) instead of opline->op2.jmp_addr

The patch doesn't change zend_op representation for 32-bit systems. They still use absolute addresses. The compile-time representation is also kept the same.

show more ...

# 5dd427ea 03-Dec-2014 Dmitry Stogov

Use zend_string* for op_array->arg_info[]->name and op_array->arg_info[]->class_name. For internal functions we still use char*.

# 569d8646 02-Dec-2014 Dmitry Stogov

Revert "Unecessary assignment"

This reverts commit b19333663a872a8b0b8c799781236b5cd5bfa47a.

# b1933366 02-Dec-2014 Xinchen Hui

Unecessary assignment

# dcfe5877 28-Nov-2014 Dmitry Stogov

Rename EX_VAR_2() into ZEND_CALL_VAR() and EX_VAR_NUM_2() into ZEND_CALL_VAR_NUM().

# 216ef321 27-Nov-2014 Dmitry Stogov

Changed "finally" handling. Removed EX(fast_ret) and EX(delayed_exception). Allocate and use additional IS_TMP_VAR slot on VM stack instead.

Revision tags: php-5.6.4RC1, php-5.5.20RC1, php-5.6.3, php-5.5.19, php-5.4.35, php-5.6.3RC1, php-5.5.19RC1, php-5.5.18, php-5.4.34, php-5.5.18RC1, php-5.6.1
# 2d069f64 27-Sep-2014 Andrea Faulds

Merge branch 'coalesce_operator'

* coalesce_operator:
Extended coalesce operator test case for ordering/short-circuiting
Ensure not evaluated twice
Added test
Initial

Merge branch 'coalesce_operator'

* coalesce_operator:
Extended coalesce operator test case for ordering/short-circuiting
Ensure not evaluated twice
Added test
Initial coalesce operator implementation

show more ...


Revision tags: php-5.6.2
# 7cef08c5 23-Sep-2014 Dmitry Stogov

Allocate copies of internal functions inherited in user classes at CG(arena), instead of permanent heap (malloc).

Revision tags: php-5.4.33
# 69e7c9d8 16-Sep-2014 Nikita Popov

Initial coalesce operator implementation

Revision tags: php-5.5.17
# 383a0773 15-Sep-2014 Anatol Belski

fix signed/unsigned mismatch

Revision tags: php-5.6.1RC1
# 82096dc1 11-Sep-2014 Dmitry Stogov

Removed ZEND_QM_ASSIGN_VAR and ZEND_JMP_SET_VAR opcodes (in PHPNG they did exacly the same as ZEND_QM_ASSIGN and ZEND_JMP_SET)

# 9e753531 03-Sep-2014 Nikita Popov

Use zval_ptr_dtor_nogc to destroy literals

Also move the definition of zval_ptr_dtor_nogc to zend_variables.h
(from zend_execute.h/.c) as it's used in a few places.

Revision tags: php-5.5.17RC1, php-5.4.33RC1
# ee552b62 27-Aug-2014 Dmitry Stogov

Reorder fields for better nenory consumtion and data locality on 64-bit systems

# b1f53ca4 27-Aug-2014 Dmitry Stogov

Use efree_size() instead of efree() where posible

Revision tags: php-5.6.0
# 59848e3f 25-Aug-2014 Nikita Popov

Remove ZEND_ACC_INTERACTIVE and CG(interactive)

As far as I can discern these are leftovers of the interactive
shell implementation that was used before PHP 5.4. Now the readline
ext

Remove ZEND_ACC_INTERACTIVE and CG(interactive)

As far as I can discern these are leftovers of the interactive
shell implementation that was used before PHP 5.4. Now the readline
ext makes use of normal eval calls for this.

So, dropping these until there is evidence to the contrary, as they
currently wouldn't work anyway.

show more ...

Revision tags: POST_AST_MERGE, PRE_AST_MERGE
# 6db293d5 25-Aug-2014 Nikita Popov

Merge remote-tracking branch 'php-src/master' into ast

Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_globals.h
Zend/zend_langua

Merge remote-tracking branch 'php-src/master' into ast

Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_globals.h
Zend/zend_language_parser.y
Zend/zend_language_scanner.c
Zend/zend_language_scanner.l
Zend/zend_types.h

show more ...


# 6f9f0bf2 25-Aug-2014 Anatol Belski

master renames phase 2

# c3e3c98e 25-Aug-2014 Anatol Belski

master renames phase 1

Revision tags: POST_64BIT_BRANCH_MERGE, PRE_64BIT_BRANCH_MERGE, php-5.5.16, php-5.4.32
# 8ee2a4a9 16-Aug-2014 Anatol Belski

first shot on merging the core fro the int64 branch

Revision tags: POST_PHPNG_MERGE, PRE_PHPNG_MERGE, php-5.6.0RC4, php-5.3.29, php-5.5.16RC1, php-5.4.32RC1, php-5.3.29RC1, php-5.6.0RC3, php-5.5.15, php-5.4.31
# d4d4b69e 22-Jul-2014 Nikita Popov

Merge branch 'phpng' into ast

Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

Some of dm

Merge branch 'phpng' into ast

Conflicts:
Zend/zend_compile.c
Zend/zend_compile.h
Zend/zend_vm_def.h
Zend/zend_vm_execute.h

Some of dmitry's optimizations are not merged in yet!

show more ...


# f2a2fcce 22-Jul-2014 Dmitry Stogov

Merge branch 'master' into phpng

* master:
fix nmake snap when ext name is different in target dll
force atoll macro usage on windows
Enable $ replacement in exif, ldap, pd

Merge branch 'master' into phpng

* master:
fix nmake snap when ext name is different in target dll
force atoll macro usage on windows
Enable $ replacement in exif, ldap, pdo_pgsql and tidy
See bug #67635
NEWS
NEWS
improve previous, add message during configure
Fixed bug #67635 php links to systemd libraries without using pkg-config
Improve fix for #66608
Fixed segfault with empty break
New added opcodes don't need to be resloved
Update NEWS
Update NEWS
Update NEWS
Fixed bug #66827 Session raises E_NOTICE when session name variable is array
implemented copy libs of core exts in phpize mode
fix copy the ext dll into the prefix path in phpize mode
fix default prefix in phpize mode
fix file with zero size usage in phpize mode

Conflicts:
Zend/zend_opcode.c
Zend/zend_vm_def.h
Zend/zend_vm_execute.h
ext/session/session.c

show more ...


# 1d2f232b 19-Jul-2014 Xinchen Hui

Merge branch 'PHP-5.5' into PHP-5.6


# 8ff00e6e 19-Jul-2014 Xinchen Hui

Improve fix for #66608

12345678910>>...19