• Caitlin Potter's avatar
    [es6] don't use do-expressions to desugar ES6 classes · c6540ab1
    Caitlin Potter authored
    Removes the do-expression wrapping, modifies BytecodeGenerator change
    to enter a class literal's block scope if needed.
    
    This does not solve the actual bug in v8:6322, but helps mitigate it in
    simple cases. The bug is caused by BytecodeGenerator not allocating a
    large enough array of context registers to hold its entire stack,
    allowing non-context registers to be overwritten during PushContext and
    PopContext bytecodes.
    
    Nevertheless, I like the idea of not depending on do-expressions when
    possible, so I think it's worth doing anyways.
    
    BUG=v8:6322
    R=rmcilroy@chromium.org, marja@chromium.org, littledan@chromium.org
    
    Change-Id: I82b7569db2a0eead1694bd04765fc4456c2f1a0a
    Reviewed-on: https://chromium-review.googlesource.com/491074
    Commit-Queue: Caitlin Potter <caitp@igalia.com>
    Reviewed-by: 's avatarMarja Hölttä <marja@chromium.org>
    Reviewed-by: 's avatarRoss McIlroy <rmcilroy@chromium.org>
    Reviewed-by: 's avatarDaniel Ehrenberg <littledan@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#45110}
    c6540ab1
Name
Last commit
Last update
..
regress-2034.js Loading commit data...
regress-2156.js Loading commit data...
regress-2186.js Loading commit data...
regress-2219.js Loading commit data...
regress-2225.js Loading commit data...
regress-2243.js Loading commit data...
regress-2322.js Loading commit data...
regress-2506.js Loading commit data...
regress-2681.js Loading commit data...
regress-2691.js Loading commit data...
regress-2829.js Loading commit data...
regress-2858.js Loading commit data...
regress-3426.js Loading commit data...
regress-347906.js Loading commit data...
regress-3501.js Loading commit data...
regress-3683.js Loading commit data...
regress-3741.js Loading commit data...
regress-3902.js Loading commit data...
regress-3938.js Loading commit data...
regress-4056.js Loading commit data...
regress-4097.js Loading commit data...
regress-411237.js Loading commit data...
regress-4160.js Loading commit data...
regress-4211.js Loading commit data...
regress-4298.js Loading commit data...
regress-4395-global-eval.js Loading commit data...
regress-4395.js Loading commit data...
regress-4400.js Loading commit data...
regress-4417.js Loading commit data...
regress-4466.js Loading commit data...
regress-4482.js Loading commit data...
regress-4522.js Loading commit data...
regress-455141.js Loading commit data...
regress-4585.js Loading commit data...
regress-474783.js Loading commit data...
regress-4759.js Loading commit data...
regress-508074.js Loading commit data...
regress-513474.js Loading commit data...
regress-517455.js Loading commit data...
regress-5337.js Loading commit data...
regress-5598.js Loading commit data...
regress-576662.js Loading commit data...
regress-5929-1.js Loading commit data...
regress-594084.js Loading commit data...
regress-6098.js Loading commit data...
regress-6322.js Loading commit data...
regress-650172.js Loading commit data...
regress-660925.js Loading commit data...
regress-666622.js Loading commit data...
regress-arrow-duplicate-params.js Loading commit data...
regress-cr372788.js Loading commit data...
regress-cr493566.js Loading commit data...
regress-cr512574.js Loading commit data...
regress-crbug-248025.js Loading commit data...
regress-crbug-346141.js Loading commit data...
regress-crbug-448730.js Loading commit data...
regress-crbug-461520.js Loading commit data...
regress-crbug-465671-null.js Loading commit data...
regress-crbug-465671.js Loading commit data...
regress-inlined-new-target.js Loading commit data...
regress-lookup-transition.js Loading commit data...
regress-new-target-context.js Loading commit data...