Commit 7196ea72 authored by mstarzinger's avatar mstarzinger Committed by Commit bot

[crankshaft] Fix interceptor shadowing constant global property.

This makes sure Crankshaft respects interceptors in the global object
even when they shadow a constant global property.

R=verwaest@chromium.org
TEST=cctest/test-api-interceptors/PrePropertyHandler

Review URL: https://codereview.chromium.org/1070803002

Cr-Commit-Position: refs/heads/master@{#27733}
parent 69c434e3
......@@ -5346,8 +5346,7 @@ void HOptimizedGraphBuilder::VisitVariableProxy(VariableProxy* expr) {
}
}
LookupIterator it(global, variable->name(),
LookupIterator::OWN_SKIP_INTERCEPTOR);
LookupIterator it(global, variable->name(), LookupIterator::OWN);
GlobalPropertyAccess type = LookupGlobalProperty(variable, &it, LOAD);
if (type == kUseCell) {
......@@ -6510,7 +6509,7 @@ void HOptimizedGraphBuilder::HandleGlobalVariableAssignment(
}
}
LookupIterator it(global, var->name(), LookupIterator::OWN_SKIP_INTERCEPTOR);
LookupIterator it(global, var->name(), LookupIterator::OWN);
GlobalPropertyAccess type = LookupGlobalProperty(var, &it, STORE);
if (type == kUseCell) {
Handle<PropertyCell> cell = it.GetPropertyCell();
......
......@@ -107,9 +107,6 @@
# optimized and hence scripts don't "return" the correct value. Fix this.
'test-compiler/CompileFunctionInContext*': [PASS, NO_VARIANTS],
# TODO(mstarzinger): Crankshaft doesn't fire interceptors as expected.
'test-api-interceptors/PrePropertyHandler': [PASS, NO_VARIANTS],
# TODO(mstarzinger): Crankshaft messes with debugger, investigate and fix!
'test-debug/BreakPointThroughJavaScript': [PASS, NO_VARIANTS], # in no-snap mode.
'test-debug/ScriptBreakPointByIdThroughJavaScript': [PASS, NO_VARIANTS],
......
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