OLD | NEW |
1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 the V8 project authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #ifndef V8_HYDROGEN_H_ | 5 #ifndef V8_HYDROGEN_H_ |
6 #define V8_HYDROGEN_H_ | 6 #define V8_HYDROGEN_H_ |
7 | 7 |
8 #include "src/v8.h" | 8 #include "src/v8.h" |
9 | 9 |
10 #include "src/accessors.h" | 10 #include "src/accessors.h" |
(...skipping 2399 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2410 | 2410 |
2411 HValue* BuildAllocateExternalElements( | 2411 HValue* BuildAllocateExternalElements( |
2412 ExternalArrayType array_type, | 2412 ExternalArrayType array_type, |
2413 bool is_zero_byte_offset, | 2413 bool is_zero_byte_offset, |
2414 HValue* buffer, HValue* byte_offset, HValue* length); | 2414 HValue* buffer, HValue* byte_offset, HValue* length); |
2415 HValue* BuildAllocateFixedTypedArray( | 2415 HValue* BuildAllocateFixedTypedArray( |
2416 ExternalArrayType array_type, size_t element_size, | 2416 ExternalArrayType array_type, size_t element_size, |
2417 ElementsKind fixed_elements_kind, | 2417 ElementsKind fixed_elements_kind, |
2418 HValue* byte_length, HValue* length); | 2418 HValue* byte_length, HValue* length); |
2419 | 2419 |
2420 // TODO(adamk): Move all OrderedHashTable functions to their own class. | |
2421 HValue* BuildOrderedHashTableHashToBucket(HValue* hash, HValue* num_buckets); | |
2422 template <typename CollectionType> | |
2423 HValue* BuildOrderedHashTableHashToEntry(HValue* table, HValue* hash, | |
2424 HValue* num_buckets); | |
2425 template <typename CollectionType> | |
2426 HValue* BuildOrderedHashTableEntryToIndex(HValue* entry, HValue* num_buckets); | |
2427 template <typename CollectionType> | 2420 template <typename CollectionType> |
2428 HValue* BuildOrderedHashTableFindEntry(HValue* table, HValue* key, | 2421 HValue* BuildOrderedHashTableFindEntry(HValue* table, HValue* key, |
2429 HValue* hash); | 2422 HValue* hash); |
2430 template <typename CollectionType> | 2423 |
2431 HValue* BuildOrderedHashTableAddEntry(HValue* table, HValue* key, | |
2432 HValue* hash, | |
2433 HIfContinuation* join_continuation); | |
2434 template <typename CollectionType> | |
2435 void BuildJSCollectionDelete(CallRuntime* call, | |
2436 const Runtime::Function* c_function); | |
2437 template <typename CollectionType> | 2424 template <typename CollectionType> |
2438 void BuildJSCollectionHas(CallRuntime* call, | 2425 void BuildJSCollectionHas(CallRuntime* call, |
2439 const Runtime::Function* c_function); | 2426 const Runtime::Function* c_function); |
| 2427 |
2440 HValue* BuildStringHashLoadIfIsStringAndHashComputed( | 2428 HValue* BuildStringHashLoadIfIsStringAndHashComputed( |
2441 HValue* object, HIfContinuation* continuation); | 2429 HValue* object, HIfContinuation* continuation); |
2442 | 2430 |
2443 Handle<JSFunction> array_function() { | 2431 Handle<JSFunction> array_function() { |
2444 return handle(isolate()->native_context()->array_function()); | 2432 return handle(isolate()->native_context()->array_function()); |
2445 } | 2433 } |
2446 | 2434 |
2447 bool IsCallArrayInlineable(int argument_count, Handle<AllocationSite> site); | 2435 bool IsCallArrayInlineable(int argument_count, Handle<AllocationSite> site); |
2448 void BuildInlinedCallArray(Expression* expression, int argument_count, | 2436 void BuildInlinedCallArray(Expression* expression, int argument_count, |
2449 Handle<AllocationSite> site); | 2437 Handle<AllocationSite> site); |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2938 } | 2926 } |
2939 | 2927 |
2940 private: | 2928 private: |
2941 HGraphBuilder* builder_; | 2929 HGraphBuilder* builder_; |
2942 }; | 2930 }; |
2943 | 2931 |
2944 | 2932 |
2945 } } // namespace v8::internal | 2933 } } // namespace v8::internal |
2946 | 2934 |
2947 #endif // V8_HYDROGEN_H_ | 2935 #endif // V8_HYDROGEN_H_ |
OLD | NEW |