Permalink
Switch branches/tags
Nothing to show
Commits on Aug 19, 2012
  1. Rename SmartAllocatorImpl::roundup to itemSizeRoundup

    sgolemon committed Aug 19, 2012
    FreeBSD defines roundup as a macro which confuses
    gcc enough to error out.  Just use a different name.
  2. Pass -1 as placeholder fd to mmap()

    sgolemon committed Aug 19, 2012
    Per the mmap man page: MAP_ANON
    The fd and offset arguments are ignored; however, some implementations
    require fd to be -1 if MAP_ANON is specified, and portable applications
    should ensure this.
    
    FreeBSD fails on fd == 0
Commits on Aug 18, 2012
  1. Allow disabling of HardwareCounter (cont'd)

    sgolemon committed Aug 18, 2012
    Somehow missed the important part of this commit during
    the merge from internal when I committed 7761a65
  2. Allow disabling of HardwareCounter

    sgolemon committed Aug 18, 2012
    HardwareCounter depends on linux specific ioctls
    and kernel hooks.  This makes them unusable on other platforms.
  3. xml_set_element_handler should allow unsetting callbacks

    swtaarrs authored and sgolemon committed Aug 17, 2012
    If false or the empty string is passed as a callback to
    xml_set_element_handler, we should unset the callback instead of
    warning that it's invalid.
  4. sizeof() compatability fix for gcc 4.4

    sgolemon committed Aug 18, 2012
    GCC 4.4 doesn't recognize sizeof(Class::InstanceVar)
    Declare the instance var with a typedef
    and use sizeof(Class::TypeDef) instead for successful parsing.
  5. Generated files for 82e4b93

    sgolemon committed Aug 18, 2012
  6. Add gc_collect_cycles() and related builtins

    Drew Paroski authored and sgolemon committed Aug 17, 2012
    Summary:
    This diff adds the following builtins related to circular reference
    collection:
      gc_collect_cycles()
      gc_enabled()
      gc_enable()
      gc_disable()
    
    The current implementations for these functions just raise a warning and
    return. In the near future, we can hook up these builtin functions to
    HipHop's cycle collector. This will allow programs written for Zend PHP 5.3
    to transparently use HipHop's cycle collector without requiring changes to
    the program.
Commits on Aug 17, 2012
  1. Limit TestCodeRun* to 20 jobs unless overridden.

    swtaarrs authored and sgolemon committed Aug 17, 2012
    TestCodeRunVM ends up spending >85% of CPU time in _raw_spin_lock
    on the certain machines with more than 21 jobs. Cap it at 20 to be safe.
    Also let HPHP_SLOW_TESTS_JOBS apply to all TestCodeRun suites.
  2. Fix assert in SmartAllocator::alloc when sizeof(T) < sizeof(void*)

    edwinsmith authored and sgolemon committed Aug 16, 2012
    We need to enforce a minimum allocation size a) for GarbageList,
    and b) for RefCountTombstoneValue.  sizeof(void*) is not actually
    big enough, but we're getting lucky since no real-world size is
    less than 16.
  3. Annotate more variables as UninitNull.

    markw65 authored and sgolemon committed Aug 16, 2012
    I noticed that we weren't annotating the type of
    an FPassL even if the variable was known to be UninitNull.
    
    Fixing that exposed a bug in the metadata argument numbering,
    and existing tests in TestCodeRun revealed another bug in type
    inference, in scopes where $this is altered via a dynamic
    variable ($t='this'; $$t = 'surprise').
  4. The generated 86ctor method should not be callable

    markw65 authored and sgolemon committed Aug 14, 2012
    The 86ctor method is only there for the benefit of FPushCtor*, it
    should not be called via parent::__construct.
    
    This removes it from the method table altogether, since we never
    need to look it up dynamically; which also fixes:
    
      $ctor = '86ctor';
      $x->$ctor();
    
    While I was there, I also removed 86pinit and 86sinit. For now, Im
    leaving 86cinit, since it would mean increasing the size of Class
    (by one pointer).
    
    This also revealed a bug - 86ctor was not supposed to be inherited,
    but it could be if the emitter "forgot" to create one when needed -
    or if the user failed to create one using hhas. One of the hhas
    examples violated this. I changed the base class constructor to be
    __construct instead of 86ctor.
  5. Fixes for gcc-4.7.1

    markw65 authored and sgolemon committed Aug 17, 2012
    Fix various issues when compiling with gcc-4.7.1
Commits on Aug 16, 2012
  1. Make register_name_t a strong typedef

    jdelong authored and sgolemon committed Aug 9, 2012
    Using the type system to make it harder to make simple types
    of errors when using our x64 assembler.
  2. Don't translate pseudo mains

    jdelong authored and sgolemon committed Aug 14, 2012
    We're not really doing it right, and currently it doesn't
    seem to be a major perf thing.  Turn it off for now?
  3. Fix ini_get('memory_limit') to return -1 for unlimited.

    markw65 authored and sgolemon committed Aug 15, 2012
    A recent change set the default limit to INT64_MAX, which
    broke scripts which tested for -1 to see if a limit had been
    set. (eg they would set a 1G limit if no limit had been set).
  4. Have SmartAllocator bump-a-pointer on empty freelist.

    edwinsmith authored and sgolemon committed Aug 14, 2012
    When the freelist is empty, allocating from the frontier can be
    done with just two pointers, but the current code must access
    m_blocks, m_row, m_col, and m_colMax.  Instead, maintain just
    a pair of pointers (next, limit).
    
    This diff also cleans up the way SmartAllocatorImpl.m_stats
    is set up.
  5. Add support for imageantialias

    markw65 authored and sgolemon committed Aug 14, 2012
    This was disabled because it requires a special php version
    of the gd library. But the existing gd library has similar
    functionality via a different api. Since there are only
    a few functions that are affected by antialiasing it was
    fairly easy to intercept each of the affected routines and
    do the right thing.
  6. Allow CAP_SYS_NICE

    Paul Saab authored and sgolemon committed Aug 15, 2012
    We have the need to change the priority of threads, so allow
    this capability.
  7. Correctly bake in code references from require so they can be invalid…

    mcohen authored and sgolemon committed Aug 8, 2012
    …ated
    
    StatCache was broken because of require setting references that
    could not be destroyed
Commits on Aug 15, 2012
  1. Bump libtbb version requirement to 3.0 (Interface 5005) minimum

    sgolemon committed Aug 15, 2012
    Note that since 3.0 compatability uses the preview version of
    concurrent priority queues, version 4.0 or higher is stronly
    recommended.
  2. 32bit builds are broken for the foreseeable future.

    sgolemon committed Aug 15, 2012
    Let anyone trying to build know that so they don't get confused.
Commits on Aug 14, 2012
  1. Cache compiled pcre's in a global cache, fix some other issues

    jdelong authored and sgolemon committed Aug 10, 2012
    We want to spend less memory on these, so we'll put them in a
    tbb::concurrent_hash_map and share across threads.  Also fixes various
    memory leaks in some early-return and exception cases in various preg_
    functions.  Also removes the HAVE_SETLOCALE stuff, since it wasn't
    working anyway (and zend53 doesn't handle it in preg_match after
    setlocale either in a quick test).
  2. Type prediction clean-up.

    kma authored and sgolemon committed Aug 13, 2012
Commits on Aug 13, 2012
  1. Fix return value in mysql_query

    markw65 authored and sgolemon committed Aug 11, 2012
    When a query timed out fetching the result, we would return true,
    rather than false. Note that queries that return data should only
    return false, or a valid MySQLResult resource. The queries that
    are allowed to return true have already been weeded out by the
    "mysql->status != MYSQL_STATUS_GET_RESULT" above.