• Aleksey Kozyatinskiy's avatar
    Revert "[debug] introduced runtime side effect check" · 539a2443
    Aleksey Kozyatinskiy authored
    This reverts commit 7a2c3713.
    
    Reason for revert: msan is broken
    
    Original change's description:
    > [debug] introduced runtime side effect check
    > 
    > This CL demonstrates minimum valuable addition to existing debug evaluate
    > without side effects mechanism.
    > With this CL user can evaluate expressions like:
    > [a,b] // create any kind of temporary array literals
    > [a,b].reduce((x,y) => x + y, 0); // use reduce method
    > [1,2,3].fill(2); // change temporary arrays
    > 
    > The core idea: any change of the object created during evaluation without
    > side effects is side effect free. As soon as we try to store this temporary
    > object to object existed before evaluation we will terminate execution.
    > 
    > Implementation:
    > - track all objects allocated during evaluation and mark them as temporary,
    > - patch all bytecodes which change objects.
    > 
    > A little more details (including performance analysis): [1].
    > 
    > [1] https://docs.google.com/document/d/10qqAtZADspPnpYa6SEdYRxrddfKIZJIzbLtGpsZQkRo/edit#
    > 
    > Bug: v8:7588
    > Change-Id: I69f7b96e1ebd7ad0022219e8213211c7be72a111
    > Reviewed-on: https://chromium-review.googlesource.com/972615
    > Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    > Reviewed-by: Yang Guo <yangguo@chromium.org>
    > Reviewed-by: Ulan Degenbaev <ulan@chromium.org>
    > Cr-Commit-Position: refs/heads/master@{#52370}
    
    TBR=ulan@chromium.org,rmcilroy@chromium.org,yangguo@chromium.org,kozyatinskiy@chromium.org,leszeks@chromium.org
    
    Change-Id: Ied1739c6308b13a4981189e0999f5912316cf456
    No-Presubmit: true
    No-Tree-Checks: true
    No-Try: true
    Bug: v8:7588
    Reviewed-on: https://chromium-review.googlesource.com/996135Reviewed-by: 's avatarAleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Commit-Queue: Aleksey Kozyatinskiy <kozyatinskiy@chromium.org>
    Cr-Commit-Position: refs/heads/master@{#52371}
    539a2443
Name
Last commit
Last update
..
compiler Loading commit data...
es6 Loading commit data...
es8 Loading commit data...
harmony Loading commit data...
ignition Loading commit data...
regress Loading commit data...
side-effect Loading commit data...
wasm Loading commit data...
debug-allscopes-on-debugger.js Loading commit data...
debug-backtrace.js Loading commit data...
debug-bigint.js Loading commit data...
debug-break-inline.js Loading commit data...
debug-break-microtask.js Loading commit data...
debug-break-native.js Loading commit data...
debug-breakpoints.js Loading commit data...
debug-clearbreakpoint.js Loading commit data...
debug-compile-event.js Loading commit data...
debug-compile-optimized.js Loading commit data...
debug-conditional-breakpoints.js Loading commit data...
debug-constructor.js Loading commit data...
debug-enable-disable-breakpoints.js Loading commit data...
debug-eval-scope.js Loading commit data...
debug-evaluate-arguments.js Loading commit data...
debug-evaluate-bool-constructor.js Loading commit data...
debug-evaluate-closure.js Loading commit data...
debug-evaluate-declaration.js Loading commit data...
debug-evaluate-locals-capturing.js Loading commit data...
debug-evaluate-locals-optimized-double.js Loading commit data...
debug-evaluate-locals-optimized.js Loading commit data...
debug-evaluate-locals.js Loading commit data...
debug-evaluate-modify-catch-block-scope.js Loading commit data...
debug-evaluate-modify-this.js Loading commit data...
debug-evaluate-nested-let.js Loading commit data...
debug-evaluate-shadowed-context-2.js Loading commit data...
debug-evaluate-shadowed-context.js Loading commit data...
debug-evaluate-with.js Loading commit data...
debug-evaluate.js Loading commit data...
debug-event-listener.js Loading commit data...
debug-exceptions.js Loading commit data...
debug-function-scopes.js Loading commit data...
debug-generator-break-on-stack.js Loading commit data...
debug-generator-break.js Loading commit data...
debug-liveedit-1.js Loading commit data...
debug-liveedit-2.js Loading commit data...
debug-liveedit-3.js Loading commit data...
debug-liveedit-4.js Loading commit data...
debug-liveedit-check-stack.js Loading commit data...
debug-liveedit-compile-error.js Loading commit data...
debug-liveedit-diff.js Loading commit data...
debug-liveedit-double-call.js Loading commit data...
debug-liveedit-exceptions.js Loading commit data...
debug-liveedit-inline.js Loading commit data...
debug-liveedit-literals.js Loading commit data...
debug-liveedit-newsource.js Loading commit data...
debug-liveedit-patch-positions-replace.js Loading commit data...
debug-liveedit-replace-code.js Loading commit data...
debug-liveedit-restart-frame.js Loading commit data...
debug-liveedit-stack-padding.js Loading commit data...
debug-liveedit-stepin.js Loading commit data...
debug-liveedit-utils.js Loading commit data...
debug-materialized.js Loading commit data...
debug-modules-set-variable-value.js Loading commit data...
debug-multiple-breakpoints.js Loading commit data...
debug-multiple-var-decl.js Loading commit data...
debug-negative-break-points.js Loading commit data...
debug-optimize.js Loading commit data...
debug-print.js Loading commit data...
debug-receiver.js Loading commit data...
debug-return-value.js Loading commit data...
debug-scopes-suspended-generators.js Loading commit data...
debug-scopes.js Loading commit data...
debug-script.js Loading commit data...
debug-set-variable-value.js Loading commit data...
debug-setbreakpoint.js Loading commit data...
debug-sourceinfo.js Loading commit data...
debug-stack-check-position.js Loading commit data...
debug-step-2.js Loading commit data...
debug-step-3.js Loading commit data...
debug-step-4.js Loading commit data...
debug-step-end-of-script.js Loading commit data...
debug-step-into-json.js Loading commit data...
debug-step-into-valueof.js Loading commit data...
debug-step-microtask.js Loading commit data...
debug-step-stub-callfunction.js Loading commit data...
debug-step-turbofan.js Loading commit data...
debug-step.js Loading commit data...
debug-stepin-accessor-ic.js Loading commit data...
debug-stepin-accessor.js Loading commit data...
debug-stepin-builtin-callback-opt.js Loading commit data...
debug-stepin-builtin-callback.js Loading commit data...
debug-stepin-builtin.js Loading commit data...
debug-stepin-call-function-stub.js Loading commit data...
debug-stepin-construct-call.js Loading commit data...
debug-stepin-constructor.js Loading commit data...
debug-stepin-foreach.js Loading commit data...
debug-stepin-function-call.js Loading commit data...
debug-stepin-property-function-call.js Loading commit data...
debug-stepnext-do-while.js Loading commit data...
debug-stepout-recursive-function.js Loading commit data...
debug-stepout-scope-part1.js Loading commit data...
debug-stepout-scope-part2.js Loading commit data...
debug-stepout-scope-part3.js Loading commit data...
debug-stepout-scope-part4.js Loading commit data...
debug-stepout-scope-part5.js Loading commit data...
debug-stepout-scope-part6.js Loading commit data...
debug-stepout-scope-part7.js Loading commit data...
debug-stepout-scope-part8.js Loading commit data...
debug-stepout-to-builtin.js Loading commit data...
deserialize-script-id.js Loading commit data...
for-in-opt.js Loading commit data...
function-source.js Loading commit data...
regress-3225.js Loading commit data...
regress-5207.js Loading commit data...