|
|
DescriptionSpeedup access to global_proxy.* attributes/accessors.
Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses.
This is a follow-on CL to crrev.com/2369933005:
- The initial upload is crrev.com/2369933005 + a rebase.
- The remaining issues are the fixes requested by the reviewers on that CL.
BUG=chromium:634276, chromium:654716, chromium:656959
Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1
Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22
Committed: https://crrev.com/36f3f90907bea457591c6c484fb554b737bbaeac
Cr-Original-Original-Commit-Position: refs/heads/master@{#40153}
Cr-Original-Commit-Position: refs/heads/master@{#40365}
Cr-Commit-Position: refs/heads/master@{#40671}
Patch Set 1 : Copy of crrev.com/2369933005, patchset 80001. (Last patchset to be reviewed.) #Patch Set 2 : Apply patchset 100001 of crrev.com/2369933005, "Nits". #Patch Set 3 : One more nitpick. #Patch Set 4 : Rebase Patch Set 3 #Patch Set 5 : Fix issue that led to revert. #
Total comments: 2
Patch Set 6 : Return instruction from InlineGlobalPropertyStore #Patch Set 7 : Fix cross-context access (and rebase) #Patch Set 8 : Slightly simplify & prettify the code. No functionality changes. #Patch Set 9 : Rebase; particularly merge w/ crrev.com/2444233004. #Patch Set 10 : Check for nullptr return in InlineGlobalPropertyStore. #Messages
Total messages: 86 (54 generated)
vogelheim@chromium.org changed reviewers: + jochen@chromium.org, verwaest@chromium.org
ptal. This is essentially the same as the - already reviewed & lgtm-ed - crrev.com/72369933005. It's rebase to current tip-of-tree and addresses the remaining nitpicks. All 'real' work here is due to peterssen@.
note that this merges the approved CL from Alfonso to speed up global property access with the almost ready CL to add surrogates. Is that on purpose? I think the former could be just rebased and landed. https://codereview.chromium.org/2403003002/diff/20001/src/crankshaft/hydrogen.cc File src/crankshaft/hydrogen.cc (right): https://codereview.chromium.org/2403003002/diff/20001/src/crankshaft/hydrogen... src/crankshaft/hydrogen.cc:5495: LookupIterator TryReadingFromCache(Isolate* isolate, LookupIterator* it) { can this function be moved to LookupIterator, so it can be used from ic.cc and objects.cc as well?
Patchset #1 (id:1) has been deleted
Patchset #1 (id:20001) has been deleted
ptal. I've now properly re-created the original patch set, plus one additional nitpick. Patch Set 1 should now be the one you already saw. On 2016/10/10 13:57:18, jochen wrote: > note that this merges the approved CL from Alfonso to speed up global property > access with the almost ready CL to add surrogates. Is that on purpose? I think > the former could be just rebased and landed. > > https://codereview.chromium.org/2403003002/diff/20001/src/crankshaft/hydrogen.cc > File src/crankshaft/hydrogen.cc (right): > > https://codereview.chromium.org/2403003002/diff/20001/src/crankshaft/hydrogen... > src/crankshaft/hydrogen.cc:5495: LookupIterator TryReadingFromCache(Isolate* > isolate, LookupIterator* it) { > can this function be moved to LookupIterator, so it can be used from ic.cc and > objects.cc as well? Makes sense; but this functionality is no longer in this CL. Therefore not done.
lgtm
The CQ bit was checked by vogelheim@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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
lgtm
The CQ bit was checked by vogelheim@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.
Committed patchset #3 (id:80001)
Message was sent while issue was closed.
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276 ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ==========
Message was sent while issue was closed.
Patchset 3 (id:??) landed as https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153}
Message was sent while issue was closed.
A revert of this CL (patchset #3 id:80001) has been created in https://codereview.chromium.org/2408133002/ by machenbach@chromium.org. The reason for reverting is: Blocks roll: https://codereview.chromium.org/2406213002/.
Message was sent while issue was closed.
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ==========
The CQ bit was checked by vogelheim@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...
Patchset #4 (id:100001) has been deleted
The CQ bit was checked by vogelheim@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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
ptal. Preparing to re-land. It seems a bit odd to put the ...->ReturnValue into BuildNamedAccess and then return nullptr, but neither putting it 'higher' or 'lower' in the callstack seemed to work out.
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ==========
lgtm
https://codereview.chromium.org/2403003002/diff/140001/src/crankshaft/hydroge... File src/crankshaft/hydrogen.cc (right): https://codereview.chromium.org/2403003002/diff/140001/src/crankshaft/hydroge... src/crankshaft/hydrogen.cc:7740: } You do this since the previous inline call already added the nide to the graph I presume. You could also just return the node without adding?
https://codereview.chromium.org/2403003002/diff/140001/src/crankshaft/hydroge... File src/crankshaft/hydrogen.cc (right): https://codereview.chromium.org/2403003002/diff/140001/src/crankshaft/hydroge... src/crankshaft/hydrogen.cc:7740: } On 2016/10/14 08:15:32, Toon Verwaest wrote: > You do this since the previous inline call already added the nide to the graph I > presume. You could also just return the node without adding? Well, sort of. The InlineGlobalPropertyStore adds the instruction, and adds an HSimulate thing after it. I assume the order must be preserved, so if I don't add the instruction there, I also cannot add the HSimulate, which means I need to copy that code to each call site. It also just seems odd, since OnlineGlobalPropertyStore potentially adds other, previous instructions, too, so it would then add most of its instructions, except the last one. The reason why I didn't put the ReturnValue thing into InlineGlobalPropertyStore is that one call site needs this, and the other doesn't. I'm trying a version that just returns the node, but so far it looks to be uglyfying the code.
This would be fairly elegant if I could just use ast_context()->ReturnInstruction(..) in the caller - which almost does everything we need. But that would return the value of of HStoreNamedField, not the value that goes into the store, which causes later tests to fail. Am I overlooking something?
The simulates are also added by the caller I thought? perhaps I'm overlooking something?
On 2016/10/14 12:03:38, Toon Verwaest wrote: > The simulates are also added by the caller I thought? perhaps I'm overlooking > something? I don't get this. The part I'm worried is at the end of InlineGlobalPropertyStore (lines 6746 - 6751). That adds a HSimulate (line 6750) in the callee, not the caller. If I want to return that HStoreNamedField without adding it, then the caller (or the caller's caller) will have to add the HSimulate that currently gets added at the end of InlineGlobalPropertyStore. One usage of InlineGlobalPropertyStore (HandleGlobalVariableAssignment) doesn't add an HSimulate, the other usage of BuildNamedAccess... depends. BuildNamedAccess has 3 usages, one - BuildStore - does exactly what we need. The other two... HandleKeyedElementAccess + BuildLoad - seems to do something subtly different. If I'm seeing this correctly, I'll need to consider 4 callers: - HandleGlobalVariableAssignment -> InlineGlobalPropertyStore - BuildStore -> BuildNamedAccess -> InlineGlobalPropertyStore - HandleKeyedElementAccess -> BuildNamedAccess -> InlineGlobalPropertyStore - BuildLoad -> BuildNamedAccess -> InlineGlobalPropertyStore For the 2nd, it should all work out elegantly, because all the necessary logic is already in place. For the other 3, I'll have to somehow compensate. The best idea I've had was to copy the HSimulate+ReturnValue logic into those three callers, but that seems... unfortunate. I do wonder whether we're talking about the same thing, though.. :-/ Is the above what you meant? If so, am I overlooking something for the case 1 + 3 + 4?
The CQ bit was checked by vogelheim@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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
ptal. I think I got it now.
lgtm
The CQ bit was checked by vogelheim@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jochen@chromium.org Link to the patchset: https://codereview.chromium.org/2403003002/#ps160001 (title: "Return instruction from InlineGlobalPropertyStore")
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 ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ==========
Message was sent while issue was closed.
Committed patchset #6 (id:160001)
Message was sent while issue was closed.
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Cr-Commit-Position: refs/heads/master@{#40153} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ==========
Message was sent while issue was closed.
Patchset 6 (id:??) landed as https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Commit-Position: refs/heads/master@{#40365}
Message was sent while issue was closed.
A revert of this CL (patchset #6 id:160001) has been created in https://codereview.chromium.org/2434233002/ by vogelheim@chromium.org. The reason for reverting is: Revert, because of crbug.com/656959..
Message was sent while issue was closed.
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ==========
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716, chromium:656959 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ==========
ptal. Due to the rebase the exact difference to the last version is a bit difficult to see; search for "is_same_context_global_proxy_access". I've updated crbug.com/656959 with a bit of the reasoning behind this. The gist is this: The old version used isolate->MayAccess to check whether to inline. This was very secure, and also semantically incorrect when the access was cross-context and we'd the inline-ing would inline a presumed result from the 'wrong' context. This version checks whether the contexts are identical, and just defaults to the slow case if they are different at all. ... hope this makes sense... :)
The CQ bit was checked by vogelheim@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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
at first, I thought, maybe we can just always load the constant out of the CL, as long as the contexts' maps are equal. However, one context might lose access to another context (via setting document.domain), so just doing this for same-context makes sense. lgtm
On 2016/10/26 08:17:16, jochen wrote: > at first, I thought, maybe we can just always load the constant out of the CL, > as long as the contexts' maps are equal. However, one context might lose access > to another context (via setting document.domain), so just doing this for > same-context makes sense. Hmmm... like: Keep the MayAccess check, but instead of current_context->global_proxy() use map_context->global_proxy()? I didn't think of that, but if we keep MayAccess, that would also work, wouldn't it?
The CQ bit was checked by vogelheim@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...
The CQ bit was checked by vogelheim@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...
Patch Set 8 is a slightly cleaned version of the previous code. Patch Set 9 is a version that inlines the global object from the *map* context, rather the current one. (I also best-guessed a sligthly different MayAccess-check; please do have a look.) I need help deciding between the two. What do you think? Provided further testing confirms both work, which one should we use?
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
I think patchset 8 is correct(er)
Patchset #9 (id:220001) has been deleted
The CQ bit was checked by vogelheim@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from verwaest@chromium.org, jochen@chromium.org Link to the patchset: https://codereview.chromium.org/2403003002/#ps200001 (title: "Slightly simplify & prettify the code. No functionality changes.")
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_asan_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_asan_rel_ng/buil...) v8_linux64_avx2_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_avx2_rel_ng/buil...) v8_linux64_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux64_rel_ng/builds/15429) v8_linux_arm64_rel_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_arm64_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_dbg_ng on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_dbg_ng/builds/15459) 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_mipsel_compile_rel on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_linux_mipsel_compile_rel...) 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/11713) v8_presubmit on master.tryserver.v8 (JOB_FAILED, http://build.chromium.org/p/tryserver.v8/builders/v8_presubmit/builds/27570)
The CQ bit was checked by vogelheim@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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by vogelheim@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...
The CQ bit was unchecked by commit-bot@chromium.org
Dry run: This issue passed the CQ dry run.
The CQ bit was checked by vogelheim@chromium.org
The patchset sent to the CQ was uploaded after l-g-t-m from jochen@chromium.org, verwaest@chromium.org Link to the patchset: https://codereview.chromium.org/2403003002/#ps260001 (title: "Check for nullptr return in InlineGlobalPropertyStore.")
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 ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716, chromium:656959 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716, chromium:656959 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ==========
Message was sent while issue was closed.
Committed patchset #10 (id:260001)
Message was sent while issue was closed.
Description was changed from ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716, chromium:656959 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Cr-Original-Commit-Position: refs/heads/master@{#40153} Cr-Commit-Position: refs/heads/master@{#40365} ========== to ========== Speedup access to global_proxy.* attributes/accessors. Using a global proxy (e.g. 'window.f', 'w.f' or 'this.f') is considerably slower than evaluating just 'f'. This CL aims to perform the necessary checks at compile time and inline the accesses. This is a follow-on CL to crrev.com/2369933005: - The initial upload is crrev.com/2369933005 + a rebase. - The remaining issues are the fixes requested by the reviewers on that CL. BUG=chromium:634276, chromium:654716, chromium:656959 Committed: https://crrev.com/8f43d748272536117008aa6a1b53ea52126261c1 Committed: https://crrev.com/041314524952a3c1bc71bd3beafbbb37319f1d22 Committed: https://crrev.com/36f3f90907bea457591c6c484fb554b737bbaeac Cr-Original-Original-Commit-Position: refs/heads/master@{#40153} Cr-Original-Commit-Position: refs/heads/master@{#40365} Cr-Commit-Position: refs/heads/master@{#40671} ==========
Message was sent while issue was closed.
Patchset 10 (id:??) landed as https://crrev.com/36f3f90907bea457591c6c484fb554b737bbaeac Cr-Commit-Position: refs/heads/master@{#40671} |