Permalink
Commits on Aug 26, 2016
  1. @GeorgNeis

    [modules] Rename ModuleDescriptor::ModuleEntry to ModuleDescriptor::E…

    …ntry.
    
    R=adamk@chromium.org
    BUG=v8:1569
    
    Review-Url: https://codereview.chromium.org/2278973002
    Cr-Commit-Position: refs/heads/master@{#38924}
    GeorgNeis committed with Commit bot Aug 26, 2016
  2. @jeisinger

    Add marja to ast owners

    R=verwaest@chromium.org,adamk@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2281443003
    Cr-Commit-Position: refs/heads/master@{#38923}
    jeisinger committed with Commit bot Aug 26, 2016
  3. @ajklein

    Merge ExpressionClassifier::ObjectLiteralProduction into ExpressionPr…

    …oduction
    
    They are both accumulated at the same time, and either one already triggered
    an error in ValidateExpression. Basically, there were no disjoint uses of
    these two error types.
    
    Review-Url: https://codereview.chromium.org/2268173005
    Cr-Commit-Position: refs/heads/master@{#38922}
    ajklein committed with Commit bot Aug 26, 2016
Commits on Aug 25, 2016
  1. @jeisinger

    Fully setup the catch variable for catch scopes

    If the parser creates a catch scope, the variable is also added to
    ordered_variables_ so just always do that.
    
    Otherwise, it's not possible to create a ScopeInfo for that catch scope
    
    R=verwaest@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2278963002
    Cr-Commit-Position: refs/heads/master@{#38921}
    jeisinger committed with Commit bot Aug 25, 2016
  2. @verwaest

    Merge DeclarationScope::temps_ and Scope::ordered_variables_ into Sco…

    …pe::locals_
    
    BUG=v8:5209
    
    Review-Url: https://codereview.chromium.org/2272083003
    Cr-Commit-Position: refs/heads/master@{#38920}
    verwaest committed with Commit bot Aug 25, 2016
  3. [turbofan] Instruction scheduler: keep ready nodes list sorted by lat…

    …ency.
    
    This significantly speed-up the instruction scheduler when the ready list
    contains a large number of instruction.
    
    R=jarin@chromium.org, bmeurer@chromium.org
    
    Review-Url: https://codereview.chromium.org/2281523002
    Cr-Commit-Position: refs/heads/master@{#38919}
    baptiste.afsa committed with Commit bot Aug 25, 2016
  4. @ajklein

    Centralize and standardize logic for ExpressionClassifier accumulation

    Previously the calls to ExpressionClassifier::Accumulate() each chose
    slightly different sets of productions to accumulate, and it turned
    out that these were in some cases broader than needed and in some
    cases less broad.
    
    The existence of some grab-bag production bitmasks like
    ExpressionClassifier::ExpressionProductions made this situation more
    error-prone (for example, that production was missing AsyncArrowFormalParametersProduction).
    
    This patch removes all "grab-bags" besides AllProductions. In some of
    the places where code was using those grab-bags for convenience, it
    switches them to use negation of AllProductions. In other, specifically
    those having to do with expressions that are disallowed anywhere in
    a sub-expression of a parameter list, I've added a new method on
    ExpressionClassifier to centralize the logic.
    
    The aforementioned centralization/addition of
    AsyncArrowFormalParametersProduction fixes several cases where we were
    failing to report an error for 'await' in some contexts; I've added
    those test cases.
    
    The patch also narrows all cases to exactly the set or productions
    necessary, with a comment on each explaining the choice.
    
    BUG=v8:4483
    
    Review-Url: https://codereview.chromium.org/2271063002
    Cr-Commit-Position: refs/heads/master@{#38918}
    ajklein committed with Commit bot Aug 25, 2016
  5. @jaro-sevcik

    Reland of [turbofan] Insert dummy values when changing from None type.

    This reverts commit a55fdb1, relands
    https://codereview.chromium.org/2266823002/.
    
    BUG=chromium:638132
    
    Review-Url: https://codereview.chromium.org/2277283002
    Cr-Commit-Position: refs/heads/master@{#38917}
    jaro-sevcik committed with Commit bot Aug 25, 2016
  6. @mlippautz

    [heap] Switch to 500k pages

    Decrease regular heap object size to 400k. In a follow up, we can now get rid of
    the new space border page while keeping the 1M minimum new space size.
    
    This reverts commit 1617043.
    
    BUG=chromium:636331
    
    Review-Url: https://codereview.chromium.org/2278653003
    Cr-Commit-Position: refs/heads/master@{#38916}
    mlippautz committed with Commit bot Aug 25, 2016
  7. @jeremyroman

    Add an experimental public API for value serialization.

    Suitably scary warnings attached, as this will yet evolve (notably to handle
    host objects, which are not currently handled).
    
    Unit tests adjusted to use the public version of ValueSerializer, eliminating
    any need they have to access v8::internal.
    
    With this, Blink can begin using this code experimentally behind a flag as it
    develops.
    
    BUG=chromium:148757
    
    Review-Url: https://codereview.chromium.org/2274693002
    Cr-Commit-Position: refs/heads/master@{#38915}
    jeremyroman committed with Commit bot Aug 25, 2016
  8. @jeisinger

    Don't require a context for global dynamic variables

    Because we don't need one.
    
    R=verwaest@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2277303002
    Cr-Commit-Position: refs/heads/master@{#38914}
    jeisinger committed with Commit bot Aug 25, 2016
  9. @jeremyroman

    Blink-compatible serialization of ArrayBuffer.

    Transferral is not included in this CL, nor is SharedArrayBuffer.
    
    BUG=chromium:148757
    
    Review-Url: https://codereview.chromium.org/2264403004
    Cr-Commit-Position: refs/heads/master@{#38913}
    jeremyroman committed with Commit bot Aug 25, 2016
  10. @mlippautz

    [heap] GCTracer: Record details for incremental marking

    Record details, such as cumulative duration, number of steps, and longest steps
    in IncrementalMarkingDetails which get populated at a single callsite
    (AddScopeSample). Remove member fields that thus become obsolete (unfortunately
    not all of them).
    
    Additional remove some dead code and refactor printing. Printing in a single
    statement allows for using logcat on Android.
    
    This should also address the regression in chromium:640524.
    
    BUG=chromium:639818,chromium:640524
    R=jochen@chromium.org
    
    Review-Url: https://codereview.chromium.org/2269093002
    Cr-Commit-Position: refs/heads/master@{#38912}
    mlippautz committed with Commit bot Aug 25, 2016
  11. [parser] Remove temporary include no longer needed.

    R=vogelheim@chromium.org
    
    Review-Url: https://codereview.chromium.org/2276343004
    Cr-Commit-Position: refs/heads/master@{#38911}
    mstarzinger committed with Commit bot Aug 25, 2016
  12. @john-yan

    Implement Big-Endian eqv test for DecodeDate and DecodeValueObjects

    R=jkummerow@chromium.org, jbroman@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2274173003
    Cr-Commit-Position: refs/heads/master@{#38910}
    john-yan committed with Commit bot Aug 25, 2016
  13. @rmcilroy

    Fix CompilerDispatcherJobTest::CompileFailureToFinalize on local runs.

    BUG=
    
    Review-Url: https://codereview.chromium.org/2276343003
    Cr-Commit-Position: refs/heads/master@{#38909}
    rmcilroy committed with Commit bot Aug 25, 2016
  14. @natorion

    Update version to 5.5

    TBR=jochen@chromium.org
    NOTRY=true
    
    Review-Url: https://codereview.chromium.org/2282453002
    Cr-Commit-Position: refs/heads/master@{#38908}
    natorion committed with Commit bot Aug 25, 2016
  15. [deoptimizer] Remove obsolete BailoutType switches.

    R=jarin@chromium.org
    
    Review-Url: https://codereview.chromium.org/2274273003
    Cr-Commit-Position: refs/heads/master@{#38907}
    mstarzinger committed with Commit bot Aug 25, 2016
  16. @bgeron-g

    [turbofan] Tests for inlining calls, constructors, property access in…

    …side try..catch..finally.
    
    These tests were spliced out of changelist 2216353002 and extended.
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2245263003
    Cr-Commit-Position: refs/heads/master@{#38906}
    bgeron-g committed with Commit bot Aug 25, 2016
  17. @targos

    Fix compilation on BSD platforms

    I could only test this with FreeBSD and OSX
    (on the Node.js CI).
    I don't know if the fix is correct for other BSD platforms.
    
    Review-Url: https://codereview.chromium.org/2251603004
    Cr-Commit-Position: refs/heads/master@{#38905}
    targos committed with Commit bot Aug 25, 2016
  18. Separate DuplicateFinder from Scanner.

    DuplicateFinder isn't actually used by the Scanner, except for one
    convenience function which we should probably remove, also.
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2281443002
    Cr-Commit-Position: refs/heads/master@{#38904}
    vogelheim committed with Commit bot Aug 25, 2016
  19. @bmeurer

    [compiler] Don't canonicalize handles in Crankshaft.

    R=mstarzinger@chromium.org
    BUG=v8:5309
    
    Review-Url: https://codereview.chromium.org/2274253003
    Cr-Commit-Position: refs/heads/master@{#38903}
    bmeurer committed with Commit bot Aug 25, 2016
  20. Treat all kArchNop instuctions as NOPs in jump threading.

    BUG=
    
    Review-Url: https://codereview.chromium.org/2276323002
    Cr-Commit-Position: refs/heads/master@{#38902}
    georgia.kouveli committed with Commit bot Aug 25, 2016
  21. [elements, turbofan] Implement simple GrowElements

    Unlike Crankshaft, Turbofan does not provide a context when trying to grow
    elements. Depending on the code path we might end up updating transitioning
    elements kinds in allocation sites for which we need access to the current
    context. Unlike GrowCapacityAndConvert, the newly introduced GrowCapacity simply
    returns false in cases where map transitions are involved.
    
    BUG=chromium:637279
    
    Patch by Camillo Bruni <cbruni@chromium.org>,
    originally reviewed at https://codereview.chromium.org/2244983004/
    
    Review-Url: https://codereview.chromium.org/2252393002
    Cr-Commit-Position: refs/heads/master@{#38901}
    jkummerow committed with Commit bot Aug 25, 2016
  22. @rmcilroy

    [Test] Fix CompilerDispatcher test.

    Review-Url: https://codereview.chromium.org/2281463002
    Cr-Commit-Position: refs/heads/master@{#38900}
    rmcilroy committed with Commit bot Aug 25, 2016
  23. @bgeron-g

    [turbofan] Allow for 32-bit field offsets in store elimination.

    R=jarin
    BUG=chromium:637121
    
    Review-Url: https://codereview.chromium.org/2252283004
    Cr-Commit-Position: refs/heads/master@{#38899}
    bgeron-g committed with Commit bot Aug 25, 2016
  24. @jeisinger

    Don't create a handle scope when finalizing the bytecode

    During finalization, we create SharedFunctionInfos which in turn
    will create ScopeInfos for the Scopes in the AST. The Scopes then
    cache a handle to the ScopeInfos. However, once the scope is closed,
    all those handles get zapped, and it's no longer possible to access
    the scopes (even though we actually still need the AST).
    
    R=rmcilroy@chromium.org
    BUG=
    
    Review-Url: https://codereview.chromium.org/2278933002
    Cr-Commit-Position: refs/heads/master@{#38898}
    jeisinger committed with Commit bot Aug 25, 2016
  25. @rmcilroy

    [Compiler] Add compile operations to CompilerDispatcherJob.

    Adds compile operations to the CompilerDispatcherJob interface. As such,
    introduces Compiler::PrepareUnoptimizedCompilationJob and updates the
    unoptimized compilation path to use CompilationJobs. Also unifies
    FinalizeCompilationJob to deal with both optimized and unoptimized
    compilation jobs.
    
    A dummy FullCodegenCompilationJob is also introduced, where all the work
    is done in the ExecuteJob phase, which cannot be run on a
    background thread.
    
    BUG=v8:5203
    
    Review-Url: https://codereview.chromium.org/2251713002
    Cr-Commit-Position: refs/heads/master@{#38897}
    rmcilroy committed with Commit bot Aug 25, 2016
  26. @schuay

    [turbofan] Minor code cleanup for builtin inlining

    BUG=
    
    Review-Url: https://codereview.chromium.org/2278863002
    Cr-Commit-Position: refs/heads/master@{#38896}
    schuay committed with Commit bot Aug 25, 2016
  27. @bmeurer

    [turbofan] Narrow type of Phis during JSTypedLowering.

    Try to narrow types of Phis further during JSTypedLowering, because
    lowering based on types might create further opportunities for improving
    the types.
    
    R=jarin@chromium.org
    BUG=v8:5267
    
    Review-Url: https://codereview.chromium.org/2278903002
    Cr-Commit-Position: refs/heads/master@{#38895}
    bmeurer committed with Commit bot Aug 25, 2016
  28. @jacobbramley

    [arm] Fix an accessor return type.

    Existing uses are correct but the return type was misleading.
    
    Also clarify some related comments to make the difference between Bits
    and BitField more obvious.
    
    BUG=
    
    Review-Url: https://codereview.chromium.org/2275973002
    Cr-Commit-Position: refs/heads/master@{#38894}
    jacobbramley committed with Commit bot Aug 25, 2016
  29. @bmeurer

    Revert of [turbofan] Insert dummy values when changing from None type…

    …. (patchset #5 id:80001 of https://codereview.chromium.org/2266823002/ )
    
    Reason for revert:
    Octane/Mandreel aborts with an exception now:
    
    TypeError: __FUNCTION_TABLE__[(r2 >> 2)] is not a function
    
    Original issue's description:
    > [turbofan] Insert dummy values when changing from None type.
    >
    > Currently we choose the MachineRepresentation::kNone representation for
    > values of Type::None, and when converting values from the kNone representation
    > we use "impossible" conversions that will crash at runtime. This
    > assumes that the impossible conversions should never be hit (the only
    > way to produce the impossible values is to perform an always-failing
    > runtime check on a value, such as Smi-checking a string). Note that
    > this assumes that the runtime check is executed before the impossible
    > convesrion.
    >
    > Introducing BitwiseOr type feedback broke this in two ways:
    >
    > - we always pick Word32 representation for bitwise-or, so the
    >   impossible conversion does not trigger (it only triggers with
    >   None representation), and we could end up with unsupported
    >   conversions from Word32.
    >
    > - even if we inserted impossible conversions, they are pure conversions.
    >   Since untagging, bitwise-or operations are also pure, we could hoist
    >   all these before the smi check of the inputs and we could hit the
    >   impossible conversions before we get to the smi check.
    >
    > This CL addresses this by just providing dummy values for conversions
    > from the Type::None type. It also removes the impossible-to-* conversions.
    >
    > BUG=chromium:638132
    >
    > Committed: https://crrev.com/c83b21ab755f1420b6da85b3ff43d7e96ead9bbe
    > Cr-Commit-Position: refs/heads/master@{#38883}
    
    TBR=mstarzinger@chromium.org,jarin@chromium.org
    # Skipping CQ checks because original CL landed less than 1 days ago.
    NOPRESUBMIT=true
    NOTREECHECKS=true
    NOTRY=true
    BUG=chromium:638132
    
    Review-Url: https://codereview.chromium.org/2280613002
    Cr-Commit-Position: refs/heads/master@{#38893}
    bmeurer committed with Commit bot Aug 25, 2016
  30. @nickie

    [parser] Clean up (pre)parser traits, part 5, last

    This patch moves the following methods from the traits objects to
    the (pre)parser implementation objects:
    
    - AddFormalParameter
    - AddParameterInitializationBlock
    - DeclareFormalParameter
    - ExpressionListToExpression
    - GetNonPatternList
    - GetReportedErrorList
    - IsTaggedTemplate
    - MaterializeUnspreadArgumentsLiterals
    - NoTemplateTag
    - ParseArrowFunctionFormalParameterList
    - ReindexLiterals
    - SetFunctionNameFromIdentifierRef
    - SetFunctionNameFromPropertyName
    
    It moves the Void method from the preparser traits object to the
    preparser implementation object.  It also removes the traits zone
    method and replaces it with that of ParserBase, which it turns to
    public.
    
    After all this, the traits objects contain just typedefs and the
    delegate methods are no more necessary.
    
    R=adamk@chromium.org, marja@chromium.org
    BUG=
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2277843002
    Cr-Commit-Position: refs/heads/master@{#38892}
    nickie committed with Commit bot Aug 25, 2016
  31. @Khazuar

    Better pack fields in Variable

    Used a BitField to for Variable fields instead of relying on the compiler, saving some memory probably.
    This reduces sizeof(Variable) from 64 to 40 on x64
    
    BUG=v8:5209
    
    Review-Url: https://codereview.chromium.org/2257493002
    Cr-Commit-Position: refs/heads/master@{#38891}
    Khazuar committed with Commit bot Aug 25, 2016
  32. @nickie

    [parser] Clean up (pre)parser traits, part 4

    This patch moves the following methods from the traits objects to
    the (pre)parser implementation objects:
    
    - ExpressionFromIdentifier
    - ExpressionFromLiteral
    - ExpressionFromString
    - FunctionSentExpression
    - GetNextSymbol
    - GetNumberAsSymbol
    - GetSymbol
    - NewExpressionList
    - NewPropertyList
    - NewStatementList
    - NewSuperCallReference
    - NewSuperPropertyReference
    - NewTargetExpression
    - ThisExpression
    
    Also, the method GetIterator is specific only to the parser and is
    removed from the preparser's implementation.
    
    R=adamk@chromium.org, marja@chromium.org
    BUG=
    LOG=N
    
    Review-Url: https://codereview.chromium.org/2274113002
    Cr-Commit-Position: refs/heads/master@{#38890}
    nickie committed with Commit bot Aug 25, 2016