|
|
Description[debugger] Don't leak holes from generator arguments.
This is a quick fix for the hole leaking from generators via the debugger's frame
inspection feature: when collecting the arguments, convert each hole to undefined.
In the long term, we probably want to remember and restore the actual arguments
rather than pushing these dummy arguments on each resume.
BUG=v8:5164
Committed: https://crrev.com/45a8167477bee1ce22b204c30d6cb1509763177a
Cr-Commit-Position: refs/heads/master@{#37544}
Patch Set 1 #Patch Set 2 : Convert on access instead #Patch Set 3 : DCHECK #
Messages
Total messages: 22 (10 generated)
The CQ bit was checked by neis@chromium.org to run a CQ dry run
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Description was changed from ========== [generators] When pushing dummy arguments, use undefined rather than the hole. This is quick fix for the hole leaking from generators via the debugger's frame inspection feature. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ========== to ========== [generators] When pushing dummy arguments, use undefined rather than the hole. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ==========
neis@chromium.org changed reviewers: + mstarzinger@chromium.org, yangguo@chromium.org
ptal
Instead of pushing "undefined" onto the stack I would actually prefer to convert the existing holes into undefined when we read them out in the debugger. IIUC this is going through {FrameInspector::MaterializeStackLocals} and {Runtime_GetFrameDetails}, which are the two call-sites to {FrameInspector::GetParameter} correct? Otherwise other such issues where we look at the parameters to a generator would go unnoticed and fail silently. Keeping "the_hole" there will make sure we notice when some component erroneously looks at the values.
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: Try jobs failed on following builders: v8_linux_nodcheck_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel_ng/bu...) v8_linux_nodcheck_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_nodcheck_rel_ng_tr...) v8_mac_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/4471) v8_mac_rel_ng_triggered on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng_triggered/bui...)
On 2016/07/05 14:52:37, Michael Starzinger wrote: > Instead of pushing "undefined" onto the stack I would actually prefer to convert > the existing holes into undefined when we read them out in the debugger. IIUC > this is going through {FrameInspector::MaterializeStackLocals} and > {Runtime_GetFrameDetails}, which are the two call-sites to > {FrameInspector::GetParameter} correct? Otherwise other such issues where we > look at the parameters to a generator would go unnoticed and fail silently. > Keeping "the_hole" there will make sure we notice when some component > erroneously looks at the values. Debug-evaluate simply uses Accessors::FunctionGetArguments to get the arguments.
Description was changed from ========== [generators] When pushing dummy arguments, use undefined rather than the hole. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ========== to ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ==========
Description was changed from ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ========== to ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ==========
Description was changed from ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ========== to ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ==========
PTanotherL
LGTM.
On 2016/07/06 07:43:07, Michael Starzinger wrote: > LGTM. LGTM. Thanks!
The CQ bit was checked by neis@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
Message was sent while issue was closed.
Description was changed from ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ========== to ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ==========
Message was sent while issue was closed.
Committed patchset #3 (id:40001)
Message was sent while issue was closed.
CQ bit was unchecked.
Message was sent while issue was closed.
Description was changed from ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 ========== to ========== [debugger] Don't leak holes from generator arguments. This is a quick fix for the hole leaking from generators via the debugger's frame inspection feature: when collecting the arguments, convert each hole to undefined. In the long term, we probably want to remember and restore the actual arguments rather than pushing these dummy arguments on each resume. BUG=v8:5164 Committed: https://crrev.com/45a8167477bee1ce22b204c30d6cb1509763177a Cr-Commit-Position: refs/heads/master@{#37544} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/45a8167477bee1ce22b204c30d6cb1509763177a Cr-Commit-Position: refs/heads/master@{#37544} |