|
|
Created:
4 years, 5 months ago by Will Harris Modified:
4 years, 5 months ago CC:
v8-reviews_googlegroups.com Base URL:
https://chromium.googlesource.com/v8/v8.git@master Target Ref:
refs/pending/heads/master Project:
v8 Visibility:
Public. |
DescriptionV8: Add API to report OOM to embedder.
This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/
BUG=614440
Committed: https://crrev.com/bc44b1c627e92000cd37d46092f8bed8986f52f5
Cr-Commit-Position: refs/heads/master@{#37781}
Patch Set 1 #
Total comments: 4
Patch Set 2 : code review changes #
Total comments: 3
Patch Set 3 : add fallback #Patch Set 4 : completely remove deprecated function #Patch Set 5 : compile fixes #
Messages
Total messages: 27 (9 generated)
jochen@chromium.org changed reviewers: + jochen@chromium.org
https://codereview.chromium.org/2139873002/diff/1/include/v8.h File include/v8.h (right): https://codereview.chromium.org/2139873002/diff/1/include/v8.h#newcode6470 include/v8.h:6470: void SetOOMErrorHandler(OOMErrorCallback that)); don't add that https://codereview.chromium.org/2139873002/diff/1/src/api.cc File src/api.cc (right): https://codereview.chromium.org/2139873002/diff/1/src/api.cc#newcode332 src/api.cc:332: if (callback == NULL) { nullptr
All done. thanks for taking a look already. PTAL. https://codereview.chromium.org/2139873002/diff/1/include/v8.h File include/v8.h (right): https://codereview.chromium.org/2139873002/diff/1/include/v8.h#newcode6470 include/v8.h:6470: void SetOOMErrorHandler(OOMErrorCallback that)); On 2016/07/12 15:11:30, jochen wrote: > don't add that Done. https://codereview.chromium.org/2139873002/diff/1/src/api.cc File src/api.cc (right): https://codereview.chromium.org/2139873002/diff/1/src/api.cc#newcode332 src/api.cc:332: if (callback == NULL) { On 2016/07/12 15:11:30, jochen wrote: > nullptr Done.
https://codereview.chromium.org/2139873002/diff/20001/src/api.cc File src/api.cc (right): https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 src/api.cc:331: if (callback == nullptr) { This will change the signature of OOM errors in v8 until blink can be updated to call the SetOOMErrorHandler function (see https://codereview.chromium.org/2130293003/) - but the blink side can't be committed until this lands. It's probably okay to have this inconsistency for a short period.
test
jochen@chromium.org changed reviewers: + hpayer@chromium.org
+hpayer to chime in on the OOM signature
https://codereview.chromium.org/2139873002/diff/20001/src/api.cc File src/api.cc (right): https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 src/api.cc:331: if (callback == nullptr) { On 2016/07/12 15:46:10, Will Harris wrote: > This will change the signature of OOM errors in v8 until blink can be updated to > call the SetOOMErrorHandler function (see > https://codereview.chromium.org/2130293003/) - but the blink side can't be > committed until this lands. It's probably okay to have this inconsistency for a > short period. After landing 2130293003 the signature will change again. Why don't we keep the current signature until then. We shouldn't change it too often because Chromecrash, Clusterfuzz, etc. will think that a new crasher showed up.
On 2016/07/13 09:21:11, Hannes Payer wrote: > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc > File src/api.cc (right): > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 > src/api.cc:331: if (callback == nullptr) { > On 2016/07/12 15:46:10, Will Harris wrote: > > This will change the signature of OOM errors in v8 until blink can be updated > to > > call the SetOOMErrorHandler function (see > > https://codereview.chromium.org/2130293003/) - but the blink side can't be > > committed until this lands. It's probably okay to have this inconsistency for > a > > short period. > > After landing 2130293003 the signature will change again. Why don't we keep the > current signature until then. We shouldn't change it too often because > Chromecrash, Clusterfuzz, etc. will think that a new crasher showed up. if I get lgtm on both CLs I can commit the v8 one and then wait until v8 rolls then commit the second one before daily canary branch, and the signature shouldn't change.
Description was changed from ========== V8: Add API to report OOM to embedder. BUG=614440 ========== to ========== V8: Add API to report OOM to embedder. This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/ BUG=614440 ==========
On 2016/07/13 at 18:44:41, wfh wrote: > On 2016/07/13 09:21:11, Hannes Payer wrote: > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc > > File src/api.cc (right): > > > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 > > src/api.cc:331: if (callback == nullptr) { > > On 2016/07/12 15:46:10, Will Harris wrote: > > > This will change the signature of OOM errors in v8 until blink can be updated > > to > > > call the SetOOMErrorHandler function (see > > > https://codereview.chromium.org/2130293003/) - but the blink side can't be > > > committed until this lands. It's probably okay to have this inconsistency for > > a > > > short period. > > > > After landing 2130293003 the signature will change again. Why don't we keep the > > current signature until then. We shouldn't change it too often because > > Chromecrash, Clusterfuzz, etc. will think that a new crasher showed up. > > if I get lgtm on both CLs I can commit the v8 one and then wait until v8 rolls then commit the second one before daily canary branch, and the signature shouldn't change. we actually have a bot that screams at you if you try to use an API that isn't in the previous canary, because it might always happen that we have to revert a V8 roll due to unforeseen issues, and that's only possible if the last canary uses the same API as the current one...
On 2016/07/13 18:54:34, jochen wrote: > On 2016/07/13 at 18:44:41, wfh wrote: > > On 2016/07/13 09:21:11, Hannes Payer wrote: > > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc > > > File src/api.cc (right): > > > > > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 > > > src/api.cc:331: if (callback == nullptr) { > > > On 2016/07/12 15:46:10, Will Harris wrote: > > > > This will change the signature of OOM errors in v8 until blink can be > updated > > > to > > > > call the SetOOMErrorHandler function (see > > > > https://codereview.chromium.org/2130293003/) - but the blink side can't be > > > > committed until this lands. It's probably okay to have this inconsistency > for > > > a > > > > short period. > > > > > > After landing 2130293003 the signature will change again. Why don't we keep > the > > > current signature until then. We shouldn't change it too often because > > > Chromecrash, Clusterfuzz, etc. will think that a new crasher showed up. > > > > if I get lgtm on both CLs I can commit the v8 one and then wait until v8 rolls > then commit the second one before daily canary branch, and the signature > shouldn't change. > > we actually have a bot that screams at you if you try to use an API that isn't > in the previous canary, because it might always happen that we have to revert a > V8 roll due to unforeseen issues, and that's only possible if the last canary > uses the same API as the current one... I could make this CL first check oom_behavior() then if that's nullptr, check exception_behavior() and if not-null, call that - then the behavior should be the same until the blink-side lands. Once the blink-side lands I can pull out the fallback code from v8 (i.e. it will be as it is now). This should keep the signatures the same during the transition, and means there is no hurry to land them at the same time.
On 2016/07/13 at 18:57:49, wfh wrote: > On 2016/07/13 18:54:34, jochen wrote: > > On 2016/07/13 at 18:44:41, wfh wrote: > > > On 2016/07/13 09:21:11, Hannes Payer wrote: > > > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc > > > > File src/api.cc (right): > > > > > > > > https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 > > > > src/api.cc:331: if (callback == nullptr) { > > > > On 2016/07/12 15:46:10, Will Harris wrote: > > > > > This will change the signature of OOM errors in v8 until blink can be > > updated > > > > to > > > > > call the SetOOMErrorHandler function (see > > > > > https://codereview.chromium.org/2130293003/) - but the blink side can't be > > > > > committed until this lands. It's probably okay to have this inconsistency > > for > > > > a > > > > > short period. > > > > > > > > After landing 2130293003 the signature will change again. Why don't we keep > > the > > > > current signature until then. We shouldn't change it too often because > > > > Chromecrash, Clusterfuzz, etc. will think that a new crasher showed up. > > > > > > if I get lgtm on both CLs I can commit the v8 one and then wait until v8 rolls > > then commit the second one before daily canary branch, and the signature > > shouldn't change. > > > > we actually have a bot that screams at you if you try to use an API that isn't > > in the previous canary, because it might always happen that we have to revert a > > V8 roll due to unforeseen issues, and that's only possible if the last canary > > uses the same API as the current one... > > I could make this CL first check oom_behavior() then if that's nullptr, check exception_behavior() and if not-null, call that - then the behavior should be the same until the blink-side lands. Once the blink-side lands I can pull out the fallback code from v8 (i.e. it will be as it is now). This should keep the signatures the same during the transition, and means there is no hurry to land them at the same time. sgtm
PTAL https://codereview.chromium.org/2139873002/diff/20001/src/api.cc File src/api.cc (right): https://codereview.chromium.org/2139873002/diff/20001/src/api.cc#newcode331 src/api.cc:331: if (callback == nullptr) { On 2016/07/13 09:21:11, Hannes Payer wrote: > On 2016/07/12 15:46:10, Will Harris wrote: > > This will change the signature of OOM errors in v8 until blink can be updated > to > > call the SetOOMErrorHandler function (see > > https://codereview.chromium.org/2130293003/) - but the blink side can't be > > committed until this lands. It's probably okay to have this inconsistency for > a > > short period. > > After landing 2130293003 the signature will change again. Why don't we keep the > current signature until then. We shouldn't change it too often because > Chromecrash, Clusterfuzz, etc. will think that a new crasher showed up. now it will fall back to previous behavior if the oom handler is not set.
thanks, lgtm
lgtm
The CQ bit was checked by wfh@chromium.org
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/v2/patch-status/codereview.chromium.or...
The CQ bit was unchecked by commit-bot@chromium.org
Try jobs failed on following builders: v8_linux64_gyp_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_gyp_rel_ng/build...) v8_linux_arm_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm_rel_ng/builds/...) v8_linux_gcc_compile_rel on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_gcc_compile_rel/bu...) 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_mac_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_mac_rel_ng/builds/5066)
The CQ bit was checked by wfh@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from hpayer@chromium.org, jochen@chromium.org Link to the patchset: https://codereview.chromium.org/2139873002/#ps80001 (title: "compile fixes")
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 ========== V8: Add API to report OOM to embedder. This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/ BUG=614440 ========== to ========== V8: Add API to report OOM to embedder. This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/ BUG=614440 ==========
Message was sent while issue was closed.
Committed patchset #5 (id:80001)
Message was sent while issue was closed.
Description was changed from ========== V8: Add API to report OOM to embedder. This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/ BUG=614440 ========== to ========== V8: Add API to report OOM to embedder. This is a dependent CL for the blink/chromium side change in https://codereview.chromium.org/2130293003/ BUG=614440 Committed: https://crrev.com/bc44b1c627e92000cd37d46092f8bed8986f52f5 Cr-Commit-Position: refs/heads/master@{#37781} ==========
Message was sent while issue was closed.
Patchset 5 (id:??) landed as https://crrev.com/bc44b1c627e92000cd37d46092f8bed8986f52f5 Cr-Commit-Position: refs/heads/master@{#37781} |