Index: test/cctest/test-api.cc |
diff --git a/test/cctest/test-api.cc b/test/cctest/test-api.cc |
index 0ad38546d2755fe1b53d838f7f0eaf4e47f65d0b..55d376d1545ab3fc2e4fc4b355728d75758503b0 100644 |
--- a/test/cctest/test-api.cc |
+++ b/test/cctest/test-api.cc |
@@ -20174,4 +20174,20 @@ TEST(AccessCheckThrows) { |
} |
+THREADED_TEST(Regress256330) { |
+ i::FLAG_allow_natives_syntax = true; |
+ LocalContext context; |
+ v8::HandleScope scope(context->GetIsolate()); |
+ Handle<FunctionTemplate> templ = FunctionTemplate::New(); |
+ AddInterceptor(templ, EmptyInterceptorGetter, EmptyInterceptorSetter); |
+ context->Global()->Set(v8_str("Bug"), templ->GetFunction()); |
+ CompileRun("\"use strict\"; var o = new Bug;" |
+ "function f(o) { o.x = 10; };" |
+ "f(o); f(o); f(o);" |
+ "%OptimizeFunctionOnNextCall(f);" |
+ "f(o);"); |
+ ExpectBoolean("%GetOptimizationStatus(f) != 2", true); |
+} |
+ |
+ |
#endif // WIN32 |