Commit 0991f9d2 authored by Benedikt Meurer's avatar Benedikt Meurer

[ic] Properly handle handler misses in GenericPropertyLoad.

The AccessorAssembler::GenericPropertyLoad case went to
%KeyedGetProperty when the actual handler that we found
in the stub cache would miss. In this case we would always
fall into the same trap all the time, since no one updates
the stub cache.

BUG=v8:5269
R=ishell@chromium.org

Change-Id: I90fd83337c320f194dc31a69716627d047a6b070
Also-By: ishell@chromium.org
Reviewed-on: https://chromium-review.googlesource.com/488147Reviewed-by: 's avatarIgor Sheludko <ishell@chromium.org>
Cr-Commit-Position: refs/heads/master@{#44914}
parent c1699fde
......@@ -1521,7 +1521,10 @@ void AccessorAssembler::GenericPropertyLoad(Node* receiver, Node* receiver_map,
TryProbeStubCache(isolate()->load_stub_cache(), receiver, key,
&found_handler, &var_handler, &stub_cache_miss);
BIND(&found_handler);
{ HandleLoadICHandlerCase(p, var_handler.value(), slow, &direct_exit); }
{
HandleLoadICHandlerCase(p, var_handler.value(), &stub_cache_miss,
&direct_exit);
}
BIND(&stub_cache_miss);
{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment