Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
Commits on Mar 10, 2014
  1. Atomic ops: Sync with Chromium and add unit test.

    jarin@chromium.org authored
    R=jarin@chromium.org
    
    Review URL: https://codereview.chromium.org/129813008
    
    Patch from Cosmin Truta <ctruta@gmail.com>.
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19738 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  2. Replace the recursion in PropagateMinusZeroChecks() with a loop and a…

    bmeurer@chromium.org authored
    … worklist.
    
    Also refactor the related code in preparation for fixing the
    range analysis.
    
    BUG=v8:3204
    LOG=y
    R=svenpanne@chromium.org
    
    Review URL: https://codereview.chromium.org/190713002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19737 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Commits on Mar 8, 2014
  1. Reland "Enable Object.observe by default"

    rafaelw@chromium.org authored
    Original Issue: https://codereview.chromium.org/183683022/
    
    TBR=rossberg
    BUG=v8:2409
    LOG=Y
    
    Review URL: https://codereview.chromium.org/189513010
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19736 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  2. Revert "Enable Object.observe by default"

    rafaelw@chromium.org authored
    TBR=rossberg
    BUG=
    
    Review URL: https://codereview.chromium.org/190853007
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19735 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  3. Enable Object.observe by default

    rafaelw@chromium.org authored
    R=rossberg@chromium.org, rossberg
    BUG=v8:2409
    LOG=Y
    
    Review URL: https://codereview.chromium.org/183683022
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19734 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Commits on Mar 7, 2014
  1. MIPS: Consistenly handle power-of-2 divisors in division-like operati…

    plind44@gmail.com authored
    …ons.
    
    Port r19715 (0d6d244)
    
    Original commit message:
    Lithium currently supports 3 division-like operations on integral
    operands: "Normal" division (rounding towards zero), flooring division
    (rounding towards -Infinity) and modulus calculation (the counterpart
    for the "normal" division). For divisors which are a power of 2, one can
    efficiently use some bit fiddling to avoid the actual division for such
    operations. This CL cleanly splits off these operations into separate
    Lithium instructions, making the code much more maintainable and more
    consistent across platforms.
    
    There are 2 basic variations of these bit fiddling algorithms: One
    involving branches and a seemingly more clever one without branches.
    Choosing between the two is not as easy as it seems: Benchmarks (and
    probably real-world) programs seem to favor positive dividends,
    registers and shifting units are sometimes scarce resources, and branch
    prediction is quite good in modern processors. Therefore only the
    "normal" division by a power of 2 is implemented in a branch-free
    manner, this seems to be the best approach in practice. If this turns
    out to be wrong, we can easily and locally change this.
    
    BUG=
    R=plind44@gmail.com
    
    Review URL: https://codereview.chromium.org/189433008
    
    Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19733 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  2. MIPS: Introduce intrinsics for double values in Javascript.

    palfia@homejinni.com authored
    Port r19704 (120500a)
    
    Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
    
    BUG=
    R=plind44@gmail.com
    
    Review URL: https://codereview.chromium.org/189913005
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19732 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  3. Fix compiler warning on Win64

    yurys@chromium.org authored
    BUG=None
    LOG=N
    TBR=mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/191153002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19731 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  4. A64: Improve constraints on StoreKeyed instructions

    m.m.capewell@googlemail.com authored
    BUG=
    R=ulan@chromium.org
    
    Review URL: https://codereview.chromium.org/190783002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19730 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  5. Fix compilation on 32-bit platforms after r19728

    yurys@chromium.org authored
    BUG=None
    TBR=mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/191043002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19729 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  6. AllocationTracker now maintains a map from address range to stack tra…

    yurys@chromium.org authored
    …ce that allocated the range. When snapshot is generated the map is used to find construction stack trace for an object using its address.
    
    BUG=chromium:277984
    LOG=Y
    R=alph@chromium.org, mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/177983003
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19728 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  7. A64: tidy up the disassembler

    rodolph.perfetta@arm.com authored
    R=ulan@chromium.org
    
    Review URL: https://codereview.chromium.org/171603020
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19727 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  8. MIPS: Symbols for type cells.

    plind44@gmail.com authored
    Port r19706 (81fd8dd)
    
    Original commit message:
    We can make more efficient code to check against type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.
    
    BUG=
    R=mvstanton@chromium.org
    
    Review URL: https://codereview.chromium.org/189143006
    
    Patch from Balazs Kilvady <kilvadyb@homejinni.com>.
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19726 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  9. A64: Clean and improve ArgumentsAdaptorTrampoline.

    alexandre.rames@arm.com authored
    This patch:
     - uses named registers
     - reserves all the stack space in one go to avoid operations on csp
     - uses LDP/STP to copy the arguments
    
    R=jochen@chromium.org
    
    Review URL: https://codereview.chromium.org/184103003
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19725 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  10. A64: Handle a few TODOs.

    alexandre.rames@arm.com authored
    Notes about a few TODOs handled in this patch:
    
    * In ProfileEntryHookStub::Generate:
        Stubs are always called with relocation.
    
    * In CreateArrayDispatchOneArgument:
        The branches to registers can't be conditional. We could use a jump table, but
        there are only 6 different kinds so it is likely not worth it.
    
    * In Builtins::Generate_StringConstructCode:
        Rename the argc register (x0) after its meaning changes.
        Remove a TODO: using a macro would not make the code clearer.
    
    * In Generate_JSEntryTrampolineHelper:
        Remove the TODO and raise an internal issue to investigate this.
    
    * In Disassembler::SubstituteBranchTargetField:
        Print the target address, but we don't have more info on the target.
    
    R=ulan@chromium.org
    
    Review URL: https://codereview.chromium.org/185793002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19724 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  11. Reland "Introduce intrinsics for double values in Javascript."

    yangguo@chromium.org authored
    This relands r19704 with a fix to the test case.
    
    R=svenpanne@chromium.org
    
    Review URL: https://codereview.chromium.org/189823003
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19723 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  12. Revert "Handle non-power-of-2 divisors in division-like operations", …

    svenpanne@chromium.org authored
    …"A64 tweaks for division-like operations." and "Windows build fix.".
    
    This reverts commit 19719, 19720 and 19721 because
    mozilla/ecma/Date/15.9.3.1-1 fails (in release mode only?).
    
    TBR=bmeurer@chromium.org
    
    Review URL: https://codereview.chromium.org/189963005
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19722 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  13. Windows build fix.

    svenpanne@chromium.org authored
    TBR=ulan@chromium.org
    
    Review URL: https://codereview.chromium.org/189093009
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19721 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  14. A64 tweaks for division-like operations.

    svenpanne@chromium.org authored
    R=bmeurer@chromium.org
    
    Review URL: https://codereview.chromium.org/190603003
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19720 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  15. Handle non-power-of-2 divisors in division-like operations

    svenpanne@chromium.org authored
    R=bmeurer@chromium.org
    
    Review URL: https://codereview.chromium.org/190383002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19719 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  16. Allocation tracker: add separate entry for allocations via V8 API

    yurys@chromium.org authored
    When object is creating via native V8 API calls JS callstack is empty and the allocation is indistinguishable from say compiler allocations. This change adds a separate entry for such allocations.
    
    Since FunctionInfo not necessarily corresponds to a heap object they are now referred to using their index in the list of all FunctionInfos.
    
    BUG=chromium:277984
    LOG=N
    R=loislo@chromium.org, mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/177203002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19718 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  17. Introduce Runtime_GetAllScopesDetails to get all scopes at once for a…

    ulan@chromium.org authored
    … frame.
    
    This will reduce heavy ScopeIterator instantiations.
    Once incorporated into chromium, will give 30% speed boost.
    
    BUG=chromium:340285
    LOG=Y
    R=ulan@chromium.org, Yang, rossberg, ulan
    
    Review URL: https://codereview.chromium.org/181063008
    
    Patch from Andrey Adaykin <aandrey@chromium.org>.
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19717 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  18. Test FeedbackVectorPreservedAcrossRecompiles needs crankshaft

    mvstanton@chromium.org authored
    The new test didn't recognize that non-sse2 builds on ia32 would
    disable crankshaft.
    
    R=yangguo@chromium.org
    
    Review URL: https://codereview.chromium.org/189263007
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19716 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  19. Consistenly handle power-of-2 divisors in division-like operations

    svenpanne@chromium.org authored
    Lithium currently supports 3 division-like operations on integral operands: "Normal" division (rounding towards zero), flooring division (rounding towards -Infinity) and modulus calculation (the counterpart for the "normal" division). For divisors which are a power of 2, one can efficiently use some bit fiddling to avoid the actual division for such operations. This CL cleanly splits off these operations into separate Lithium instructions, making the code much more maintainable and more consistent across platforms.
    
    There are 2 basic variations of these bit fiddling algorithms: One involving branches and a seemingly more clever one without branches. Choosing between the two is not as easy as it seems: Benchmarks (and probably real-world) programs seem to favor positive dividends, registers and shifting units are sometimes scarce resources, and branch prediction is quite good in modern processors. Therefore only the "normal" division by a power of 2 is implemented in a branch-free manner, this seems to be the best approach in practice. If this turns out to be wrong, we can easily and locally change this.
    
    R=bmeurer@chromium.org
    
    Review URL: https://codereview.chromium.org/175143002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19715 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  20. Reduce heavy runtime calls from debug mirrors.

    ulan@chromium.org authored
    Cache results of some heavy calls into C++.
    This alone will boost the speed up to 18% on some real world scenarios.
    
    BUG=chromium:340285
    LOG=Y
    R=ulan@chromium.org, yangguo@chromium.org, Yang, rossberg, ulan, yurys
    
    Review URL: https://codereview.chromium.org/184483004
    
    Patch from Andrey Adaykin <aandrey@chromium.org>.
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19714 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  21. Track global cells as special side effects in GVN.

    bmeurer@chromium.org authored
    R=mstarzinger@chromium.org
    
    Review URL: https://codereview.chromium.org/188543004
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19713 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  22. Moved type feedback vector to SharedFunctionInfo.

    mvstanton@chromium.org authored
    Type Vector followup: the type vector currently lives off the code object. This CL moves it to the SharedFunctionInfo, facilitating re-use and continued use in crankshafted code if desired.
    
    R=bmeurer@chromium.org
    
    Review URL: https://codereview.chromium.org/178463007
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19712 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  23. Check and clear date cache in DateCurrentTime, DateLocalTimezone and …

    ulan@chromium.org authored
    …getTimezoneOffset.
    
    BUG=142141
    LOG=Y
    R=rossberg@chromium.org
    
    Review URL: https://codereview.chromium.org/173793002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19711 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  24. Revert "Introduce intrinsics for double values in Javascript."

    yangguo@chromium.org authored
    This reverts r19704.
    
    R=mvstanton@chromium.org
    
    Review URL: https://codereview.chromium.org/189533008
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19710 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  25. Revert "Use Representation::Integer32() for smi types on 32-bit-tagge…

    verwaest@chromium.org authored
    …d systems."
    
    Due to performance regression.
    
    BUG=
    R=jkummerow@chromium.org
    
    Review URL: https://codereview.chromium.org/189843006
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19709 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  26. A64: Minor improvement in FullCodeGenerator::VisitObjectLiteral.

    baptiste.afsa@arm.com authored
    This patch avoid to push some values on the stack when it's not needed.
    
    R=ulan@chromium.org
    
    Review URL: https://codereview.chromium.org/183193005
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19708 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  27. Update .gitignore to new test262 package name.

    mstarzinger@chromium.org authored
    R=jkummerow@chromium.org
    
    Review URL: https://codereview.chromium.org/188923003
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19707 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  28. Symbols for type cells. We can make more efficient code to check agai…

    mvstanton@chromium.org authored
    …nst type cells in the future if we use symbols, guaranteed not to conflict with user code. Currently, the "symbols" are the hole and undefined. Undefined may come in from the outside.
    
    BUG=
    R=verwaest@chromium.org
    
    Review URL: https://codereview.chromium.org/181283003
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19706 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  29. A64: Tidy up some TODOs in GenerateRecordCallTarget.

    baptiste.afsa@arm.com authored
    R=jochen@chromium.org
    
    Review URL: https://codereview.chromium.org/184433002
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19705 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
  30. Introduce intrinsics for double values in Javascript.

    yangguo@chromium.org authored
    R=svenpanne@chromium.org
    
    Review URL: https://codereview.chromium.org/178583006
    
    git-svn-id: https://v8.googlecode.com/svn/branches/bleeding_edge@19704 ce2b1a6d-e550-0410-aec6-3dcde31c8c00
Something went wrong with that request. Please try again.