| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
| 2 // Redistribution and use in source and binary forms, with or without | 2 // Redistribution and use in source and binary forms, with or without |
| 3 // modification, are permitted provided that the following conditions are | 3 // modification, are permitted provided that the following conditions are |
| 4 // met: | 4 // met: |
| 5 // | 5 // |
| 6 // * Redistributions of source code must retain the above copyright | 6 // * Redistributions of source code must retain the above copyright |
| 7 // notice, this list of conditions and the following disclaimer. | 7 // notice, this list of conditions and the following disclaimer. |
| 8 // * Redistributions in binary form must reproduce the above | 8 // * Redistributions in binary form must reproduce the above |
| 9 // copyright notice, this list of conditions and the following | 9 // copyright notice, this list of conditions and the following |
| 10 // disclaimer in the documentation and/or other materials provided | 10 // disclaimer in the documentation and/or other materials provided |
| (...skipping 1989 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2000 LocalContext env; | 2000 LocalContext env; |
| 2001 env->Global()->Set(v8_str("obj"), | 2001 env->Global()->Set(v8_str("obj"), |
| 2002 templ->GetFunction()->NewInstance()); | 2002 templ->GetFunction()->NewInstance()); |
| 2003 Local<Script> script = v8_compile("obj[900]"); | 2003 Local<Script> script = v8_compile("obj[900]"); |
| 2004 CHECK_EQ(script->Run()->Int32Value(), 900); | 2004 CHECK_EQ(script->Run()->Int32Value(), 900); |
| 2005 } | 2005 } |
| 2006 | 2006 |
| 2007 | 2007 |
| 2008 v8::Handle<v8::Object> bottom; | 2008 v8::Handle<v8::Object> bottom; |
| 2009 | 2009 |
| 2010 static v8::Handle<Value> CheckThisIndexedPropertyHandler( | 2010 static void CheckThisIndexedPropertyHandler( |
| 2011 uint32_t index, | 2011 uint32_t index, |
| 2012 const AccessorInfo& info) { | 2012 const v8::PropertyCallbackInfo<v8::Value>& info) { |
| 2013 CheckReturnValue(info); |
| 2013 ApiTestFuzzer::Fuzz(); | 2014 ApiTestFuzzer::Fuzz(); |
| 2014 CHECK(info.This()->Equals(bottom)); | 2015 CHECK(info.This()->Equals(bottom)); |
| 2015 return v8::Handle<Value>(); | |
| 2016 } | 2016 } |
| 2017 | 2017 |
| 2018 static v8::Handle<Value> CheckThisNamedPropertyHandler( | 2018 static void CheckThisNamedPropertyHandler( |
| 2019 Local<String> name, | 2019 Local<String> name, |
| 2020 const AccessorInfo& info) { | 2020 const v8::PropertyCallbackInfo<v8::Value>& info) { |
| 2021 CheckReturnValue(info); |
| 2021 ApiTestFuzzer::Fuzz(); | 2022 ApiTestFuzzer::Fuzz(); |
| 2022 CHECK(info.This()->Equals(bottom)); | 2023 CHECK(info.This()->Equals(bottom)); |
| 2023 return v8::Handle<Value>(); | 2024 } |
| 2025 |
| 2026 void CheckThisIndexedPropertySetter( |
| 2027 uint32_t index, |
| 2028 Local<Value> value, |
| 2029 const v8::PropertyCallbackInfo<v8::Value>& info) { |
| 2030 CheckReturnValue(info); |
| 2031 ApiTestFuzzer::Fuzz(); |
| 2032 CHECK(info.This()->Equals(bottom)); |
| 2024 } | 2033 } |
| 2025 | 2034 |
| 2026 | 2035 |
| 2027 v8::Handle<Value> CheckThisIndexedPropertySetter(uint32_t index, | 2036 void CheckThisNamedPropertySetter( |
| 2028 Local<Value> value, | 2037 Local<String> property, |
| 2029 const AccessorInfo& info) { | 2038 Local<Value> value, |
| 2039 const v8::PropertyCallbackInfo<v8::Value>& info) { |
| 2040 CheckReturnValue(info); |
| 2030 ApiTestFuzzer::Fuzz(); | 2041 ApiTestFuzzer::Fuzz(); |
| 2031 CHECK(info.This()->Equals(bottom)); | 2042 CHECK(info.This()->Equals(bottom)); |
| 2032 return v8::Handle<Value>(); | 2043 } |
| 2044 |
| 2045 void CheckThisIndexedPropertyQuery( |
| 2046 uint32_t index, |
| 2047 const v8::PropertyCallbackInfo<v8::Integer>& info) { |
| 2048 CheckReturnValue(info); |
| 2049 ApiTestFuzzer::Fuzz(); |
| 2050 CHECK(info.This()->Equals(bottom)); |
| 2033 } | 2051 } |
| 2034 | 2052 |
| 2035 | 2053 |
| 2036 v8::Handle<Value> CheckThisNamedPropertySetter(Local<String> property, | 2054 void CheckThisNamedPropertyQuery( |
| 2037 Local<Value> value, | 2055 Local<String> property, |
| 2038 const AccessorInfo& info) { | 2056 const v8::PropertyCallbackInfo<v8::Integer>& info) { |
| 2057 CheckReturnValue(info); |
| 2039 ApiTestFuzzer::Fuzz(); | 2058 ApiTestFuzzer::Fuzz(); |
| 2040 CHECK(info.This()->Equals(bottom)); | 2059 CHECK(info.This()->Equals(bottom)); |
| 2041 return v8::Handle<Value>(); | |
| 2042 } | |
| 2043 | |
| 2044 v8::Handle<v8::Integer> CheckThisIndexedPropertyQuery( | |
| 2045 uint32_t index, | |
| 2046 const AccessorInfo& info) { | |
| 2047 ApiTestFuzzer::Fuzz(); | |
| 2048 CHECK(info.This()->Equals(bottom)); | |
| 2049 return v8::Handle<v8::Integer>(); | |
| 2050 } | 2060 } |
| 2051 | 2061 |
| 2052 | 2062 |
| 2053 v8::Handle<v8::Integer> CheckThisNamedPropertyQuery(Local<String> property, | 2063 void CheckThisIndexedPropertyDeleter( |
| 2054 const AccessorInfo& info) { | 2064 uint32_t index, |
| 2065 const v8::PropertyCallbackInfo<v8::Boolean>& info) { |
| 2066 CheckReturnValue(info); |
| 2055 ApiTestFuzzer::Fuzz(); | 2067 ApiTestFuzzer::Fuzz(); |
| 2056 CHECK(info.This()->Equals(bottom)); | 2068 CHECK(info.This()->Equals(bottom)); |
| 2057 return v8::Handle<v8::Integer>(); | |
| 2058 } | 2069 } |
| 2059 | 2070 |
| 2060 | 2071 |
| 2061 v8::Handle<v8::Boolean> CheckThisIndexedPropertyDeleter( | 2072 void CheckThisNamedPropertyDeleter( |
| 2062 uint32_t index, | 2073 Local<String> property, |
| 2063 const AccessorInfo& info) { | 2074 const v8::PropertyCallbackInfo<v8::Boolean>& info) { |
| 2075 CheckReturnValue(info); |
| 2064 ApiTestFuzzer::Fuzz(); | 2076 ApiTestFuzzer::Fuzz(); |
| 2065 CHECK(info.This()->Equals(bottom)); | 2077 CHECK(info.This()->Equals(bottom)); |
| 2066 return v8::Handle<v8::Boolean>(); | |
| 2067 } | 2078 } |
| 2068 | 2079 |
| 2069 | 2080 |
| 2070 v8::Handle<v8::Boolean> CheckThisNamedPropertyDeleter( | 2081 void CheckThisIndexedPropertyEnumerator( |
| 2071 Local<String> property, | 2082 const v8::PropertyCallbackInfo<v8::Array>& info) { |
| 2072 const AccessorInfo& info) { | 2083 CheckReturnValue(info); |
| 2073 ApiTestFuzzer::Fuzz(); | 2084 ApiTestFuzzer::Fuzz(); |
| 2074 CHECK(info.This()->Equals(bottom)); | 2085 CHECK(info.This()->Equals(bottom)); |
| 2075 return v8::Handle<v8::Boolean>(); | |
| 2076 } | 2086 } |
| 2077 | 2087 |
| 2078 | 2088 |
| 2079 v8::Handle<v8::Array> CheckThisIndexedPropertyEnumerator( | 2089 void CheckThisNamedPropertyEnumerator( |
| 2080 const AccessorInfo& info) { | 2090 const v8::PropertyCallbackInfo<v8::Array>& info) { |
| 2091 CheckReturnValue(info); |
| 2081 ApiTestFuzzer::Fuzz(); | 2092 ApiTestFuzzer::Fuzz(); |
| 2082 CHECK(info.This()->Equals(bottom)); | 2093 CHECK(info.This()->Equals(bottom)); |
| 2083 return v8::Handle<v8::Array>(); | |
| 2084 } | 2094 } |
| 2085 | 2095 |
| 2086 | 2096 |
| 2087 v8::Handle<v8::Array> CheckThisNamedPropertyEnumerator( | |
| 2088 const AccessorInfo& info) { | |
| 2089 ApiTestFuzzer::Fuzz(); | |
| 2090 CHECK(info.This()->Equals(bottom)); | |
| 2091 return v8::Handle<v8::Array>(); | |
| 2092 } | |
| 2093 | |
| 2094 | |
| 2095 THREADED_TEST(PropertyHandlerInPrototype) { | 2097 THREADED_TEST(PropertyHandlerInPrototype) { |
| 2096 LocalContext env; | 2098 LocalContext env; |
| 2097 v8::HandleScope scope(env->GetIsolate()); | 2099 v8::HandleScope scope(env->GetIsolate()); |
| 2098 | 2100 |
| 2099 // Set up a prototype chain with three interceptors. | 2101 // Set up a prototype chain with three interceptors. |
| 2100 v8::Handle<v8::FunctionTemplate> templ = v8::FunctionTemplate::New(); | 2102 v8::Handle<v8::FunctionTemplate> templ = v8::FunctionTemplate::New(); |
| 2101 templ->InstanceTemplate()->SetIndexedPropertyHandler( | 2103 templ->InstanceTemplate()->SetIndexedPropertyHandler( |
| 2102 CheckThisIndexedPropertyHandler, | 2104 CheckThisIndexedPropertyHandler, |
| 2103 CheckThisIndexedPropertySetter, | 2105 CheckThisIndexedPropertySetter, |
| 2104 CheckThisIndexedPropertyQuery, | 2106 CheckThisIndexedPropertyQuery, |
| (...skipping 16989 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19094 i::Semaphore* sem_; | 19096 i::Semaphore* sem_; |
| 19095 volatile int sem_value_; | 19097 volatile int sem_value_; |
| 19096 }; | 19098 }; |
| 19097 | 19099 |
| 19098 | 19100 |
| 19099 THREADED_TEST(SemaphoreInterruption) { | 19101 THREADED_TEST(SemaphoreInterruption) { |
| 19100 ThreadInterruptTest().RunTest(); | 19102 ThreadInterruptTest().RunTest(); |
| 19101 } | 19103 } |
| 19102 | 19104 |
| 19103 #endif // WIN32 | 19105 #endif // WIN32 |
| OLD | NEW |