Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Sep 5, 2012
  1. @dstogov

    Merge branch 'PHP-5.4'

    dstogov authored
    * PHP-5.4:
      Fixed bug #62907 (Double free when use traits)
    
    Conflicts:
    	NEWS
  2. @dstogov
Commits on Sep 1, 2012
  1. @cataphract

    Merge branch 'generators'

    cataphract authored
    * generators: (70 commits)
      Fix typos
      Fix segfault when traversing a by-ref generator twice
      Make sure that exception is thrown on rewind() after closing too
      Remove implementation stubs for yield delegation
      Fix several issues and allow rewind only at/before first yield
      Run finally if generator is closed before finishing
      Finally with return now works in generators too
      Add dedicated opcode for returns from a generator
      Disallow serialization and unserialization
      Fix zts build (typo)
      Drop Generator::close() method
      Forgot to add test
      Support trivial finally in generators (no yield, no return)
      Fix implementation of Iterator interface
      Add T_YIELD in tokenizer_data.c
      Throw error also for return occuring before yield
      Fix throwing of exceptions within a generator
      Remove reference restrictions from foreach
      Require parenthesis around yield expressions
      Add some more tests
      ...
Commits on Aug 27, 2012
  1. @laruence
Commits on Aug 26, 2012
  1. @nikic

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

    nikic authored
    Conflicts:
    	Zend/zend_language_parser.y
    	Zend/zend_vm_execute.skl
Commits on Aug 25, 2012
  1. @nikic

    Remove implementation stubs for yield delegation

    nikic authored
    I decided to leave out yield delegation for an initial proposal, so remove
    the stubs for it too.
  2. @laruence
Commits on Aug 24, 2012
  1. @nikic

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

    nikic authored
    Conflicts:
    	Zend/zend_vm_def.h
    	Zend/zend_vm_execute.h
Commits on Aug 22, 2012
  1. @laruence

    Fixed bug that jmp in try block jmp over finally block

    laruence authored
    Refactor the implemention,  make codes clear
  2. @laruence

    stash

    laruence authored
Commits on Aug 20, 2012
  1. @nikic

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

    nikic authored
    Merging master to fix Windows build
    
    Conflicts:
    	Zend/zend_language_scanner.c
    	Zend/zend_language_scanner_defs.h
    	Zend/zend_vm_def.h
Commits on Aug 18, 2012
  1. @laruence

    tab

    laruence authored
Commits on Aug 17, 2012
  1. @laruence
Commits on Aug 14, 2012
  1. @laruence
Commits on Aug 13, 2012
  1. @nikic

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

    nikic authored
    This is just an intial merge. It does not yet make generators and finally
    work together.
    
    Conflicts:
    	Zend/zend_language_scanner.c
    	Zend/zend_language_scanner_defs.h
    	Zend/zend_vm_def.h
    	Zend/zend_vm_execute.h
    	Zend/zend_vm_execute.skl
    	Zend/zend_vm_opcodes.h
  2. @laruence

    Implemented 'finally' keywords for php

    laruence authored
    RFC: https://wiki.php.net/rfc/finally
    FR: https://bugs.php.net/bug.php?id=32100
    and I have got some improvment ideas(performance), will implemented
    later. thanks
Commits on Jul 21, 2012
  1. @nikic

    Require parenthesis around yield expressions

    nikic authored
    If yield is used in an expression context parenthesis are now required.
    This ensures that the code is unambiguos.
    
    Yield statements can still be used without parenthesis (which should be
    the most common case).
    
    Also yield expressions without value can be used without parenthesis,
    too (this should be the most common case for coroutines).
    
    If the yield expression is used in a context where parenthesis are required
    anyway, no additional parenthesis have to be inserted.
    
    Examples:
    
        // Statements don't need parenthesis
        yield $foo;
        yield $foo => $bar;
    
        // Yield without value doesn't need parenthesis either
        $data = yield;
    
        // Parentheses don't have to be duplicated
        foo(yield $bar);
        if (yield $bar) { ... }
    
        // But we have to use parentheses here
        $foo = (yield $bar);
    
    This commit also fixes an issue with by-ref passing of $foo[0] like
    variables. They previously weren't properly fetched for write.
    
    Additionally this fixes valgrind warnings which were caused by access to
    uninitialized memory in zend_is_function_or_method_call().
Commits on Jul 20, 2012
  1. @nikic

    Remove asterix modifier (*) for generators

    nikic authored
    Generators are now automatically detected by the presence of a `yield`
    expression in their body.
    
    This removes the ZEND_SUSPEND_AND_RETURN_GENERATOR opcode. Instead
    additional checks for ZEND_ACC_GENERATOR are added to the fcall_common
    helper and zend_call_function.
    
    This also adds a new function zend_generator_create_zval, which handles
    the actual creation of the generator zval from an op array.
    
    I feel like I should deglobalize the zend_create_execute_data_from_op_array
    code a bit. It currently changes EG(current_execute_data) and
    EG(opline_ptr) which is somewhat confusing (given the name).
Commits on Jun 18, 2012
  1. @nikic

    Add sceleton for yield* expression

    nikic authored
    This does not yet actually implement any delegation.
Commits on May 30, 2012
  1. @nikic

    Add support for yielding keys

    nikic authored
    Keys are yielded using the
    
        yield $key => $value
    
    syntax. Currently this is implemented as a statement only and not as an
    expression, because conflicts arise considering nesting and use in arrays:
    
        yield yield $a => $b;
        // could be either
        yield (yield $a) => $b;
        // or
        yield (yield $a => $b);
    
    Once I find some way to resolve these conflicts this should be available
    as an expression too.
    
    Also the key yielding code is rather copy-and-past-y for the value yielding
    code, so that should be factored out.
Commits on May 29, 2012
  1. @nikic

    Add support for $generator->send()

    nikic authored
    Yield now is an expression and the return value is the value passed to
    $generator->send(). By default (i.e. if ->next() is called) the value is
    NULL.
    
    Unlike in Python ->send() can be run without priming the generator with a
    ->next() call first.
Commits on May 19, 2012
  1. @nikic

    Add zend_do_suspend_if_generator calls

    nikic authored
    The execution of generator functions will be suspended right after the
    arguments were RECVed. This will be done in zend_do_suspend_if_generator.
  2. @nikic

    Add flag for generator functions

    nikic authored
    Generator functions have to specify the * (asterix) modifier after the
    function keyword. If they do so the ZEND_ACC_GENERATOR flag is added to
    the fn_flags.
Commits on May 11, 2012
  1. @reeze
Commits on Jan 1, 2012
  1. @felipensp

    - Year++

    felipensp authored
  2. @felipensp

    - Year++

    felipensp authored
Commits on Nov 8, 2011
  1. Fixed bug #60104 (Segmentation Fault in pdo_sqlite when using sqliteC…

    Dmitry Stogov authored
    …reateFunction())
  2. Fixed bug #60104 (Segmentation Fault in pdo_sqlite when using sqliteC…

    Dmitry Stogov authored
    …reateFunction())
Commits on Sep 13, 2011
  1. Fixed ZE specific compile warnings (Bug #55629)

    Dmitry Stogov authored
  2. Fixed ZE specific compile warnings (Bug #55629)

    Dmitry Stogov authored
Commits on Jul 10, 2011
  1. @felipensp
  2. @felipensp
Commits on Jul 9, 2011
  1. @felipensp

    - Changed zend_resolve_class_name() prototype

    felipensp authored
    # No needed to pass fetch_type as pointer here
  2. @felipensp

    - Changed zend_resolve_class_name() prototype

    felipensp authored
    # No needed to pass fetch_type as pointer here
Commits on Jun 20, 2011
  1. @felipensp

    - Fix broken code in 64bit

    felipensp authored
Something went wrong with that request. Please try again.