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 2237 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2248 return true; | 2248 return true; |
2249 } | 2249 } |
2250 return false; | 2250 return false; |
2251 } | 2251 } |
2252 } | 2252 } |
2253 | 2253 |
2254 bool has_holder() { return !holder_.is_null(); } | 2254 bool has_holder() { return !holder_.is_null(); } |
2255 | 2255 |
2256 LookupResult* lookup() { return &lookup_; } | 2256 LookupResult* lookup() { return &lookup_; } |
2257 Handle<Map> map() { return map_; } | 2257 Handle<Map> map() { return map_; } |
| 2258 Handle<String> name() { return name_; } |
2258 Handle<JSObject> holder() { return holder_; } | 2259 Handle<JSObject> holder() { return holder_; } |
2259 Handle<JSFunction> accessor() { return accessor_; } | 2260 Handle<JSFunction> accessor() { return accessor_; } |
2260 Handle<Object> constant() { return constant_; } | 2261 Handle<Object> constant() { return constant_; } |
2261 HObjectAccess access() { return access_; } | 2262 HObjectAccess access() { return access_; } |
2262 | 2263 |
2263 private: | 2264 private: |
2264 Isolate* isolate() { return lookup_.isolate(); } | 2265 Isolate* isolate() { return lookup_.isolate(); } |
2265 | 2266 |
2266 bool IsStringLength() { | 2267 bool IsStringLength() { |
2267 return map_->instance_type() < FIRST_NONSTRING_TYPE && | 2268 return map_->instance_type() < FIRST_NONSTRING_TYPE && |
2268 name_->Equals(isolate()->heap()->length_string()); | 2269 name_->Equals(isolate()->heap()->length_string()); |
2269 } | 2270 } |
2270 | 2271 |
| 2272 bool IsFloat32x4OrInt32x4PropertyCallback() { |
| 2273 return (((map_->instance_type() == FLOAT32x4_TYPE || |
| 2274 map_->instance_type() == INT32x4_TYPE) && |
| 2275 (name_->Equals(isolate()->heap()->signMask()) || |
| 2276 name_->Equals(isolate()->heap()->x()) || |
| 2277 name_->Equals(isolate()->heap()->y()) || |
| 2278 name_->Equals(isolate()->heap()->z()) || |
| 2279 name_->Equals(isolate()->heap()->w()))) || |
| 2280 (map_->instance_type() == INT32x4_TYPE && |
| 2281 (name_->Equals(isolate()->heap()->flagX()) || |
| 2282 name_->Equals(isolate()->heap()->flagY()) || |
| 2283 name_->Equals(isolate()->heap()->flagZ()) || |
| 2284 name_->Equals(isolate()->heap()->flagW())))); |
| 2285 } |
| 2286 |
2271 bool IsArrayLength() { | 2287 bool IsArrayLength() { |
2272 return map_->instance_type() == JS_ARRAY_TYPE && | 2288 return map_->instance_type() == JS_ARRAY_TYPE && |
2273 name_->Equals(isolate()->heap()->length_string()); | 2289 name_->Equals(isolate()->heap()->length_string()); |
2274 } | 2290 } |
2275 | 2291 |
2276 bool LoadResult(Handle<Map> map); | 2292 bool LoadResult(Handle<Map> map); |
2277 bool LookupDescriptor(); | 2293 bool LookupDescriptor(); |
2278 bool LookupInPrototypes(); | 2294 bool LookupInPrototypes(); |
2279 bool IsCompatibleForLoad(PropertyAccessInfo* other); | 2295 bool IsCompatibleForLoad(PropertyAccessInfo* other); |
2280 | 2296 |
(...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2629 } | 2645 } |
2630 | 2646 |
2631 private: | 2647 private: |
2632 HGraphBuilder* builder_; | 2648 HGraphBuilder* builder_; |
2633 }; | 2649 }; |
2634 | 2650 |
2635 | 2651 |
2636 } } // namespace v8::internal | 2652 } } // namespace v8::internal |
2637 | 2653 |
2638 #endif // V8_HYDROGEN_H_ | 2654 #endif // V8_HYDROGEN_H_ |
OLD | NEW |