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); |
2420 template <typename CollectionType> | 2427 template <typename CollectionType> |
2421 HValue* BuildOrderedHashTableFindEntry(HValue* table, HValue* key, | 2428 HValue* BuildOrderedHashTableFindEntry(HValue* table, HValue* key, |
2422 HValue* hash); | 2429 HValue* hash); |
2423 | 2430 template <typename CollectionType> |
| 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); |
2424 template <typename CollectionType> | 2437 template <typename CollectionType> |
2425 void BuildJSCollectionHas(CallRuntime* call, | 2438 void BuildJSCollectionHas(CallRuntime* call, |
2426 const Runtime::Function* c_function); | 2439 const Runtime::Function* c_function); |
2427 | |
2428 HValue* BuildStringHashLoadIfIsStringAndHashComputed( | 2440 HValue* BuildStringHashLoadIfIsStringAndHashComputed( |
2429 HValue* object, HIfContinuation* continuation); | 2441 HValue* object, HIfContinuation* continuation); |
2430 | 2442 |
2431 Handle<JSFunction> array_function() { | 2443 Handle<JSFunction> array_function() { |
2432 return handle(isolate()->native_context()->array_function()); | 2444 return handle(isolate()->native_context()->array_function()); |
2433 } | 2445 } |
2434 | 2446 |
2435 bool IsCallArrayInlineable(int argument_count, Handle<AllocationSite> site); | 2447 bool IsCallArrayInlineable(int argument_count, Handle<AllocationSite> site); |
2436 void BuildInlinedCallArray(Expression* expression, int argument_count, | 2448 void BuildInlinedCallArray(Expression* expression, int argument_count, |
2437 Handle<AllocationSite> site); | 2449 Handle<AllocationSite> site); |
(...skipping 488 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2926 } | 2938 } |
2927 | 2939 |
2928 private: | 2940 private: |
2929 HGraphBuilder* builder_; | 2941 HGraphBuilder* builder_; |
2930 }; | 2942 }; |
2931 | 2943 |
2932 | 2944 |
2933 } } // namespace v8::internal | 2945 } } // namespace v8::internal |
2934 | 2946 |
2935 #endif // V8_HYDROGEN_H_ | 2947 #endif // V8_HYDROGEN_H_ |
OLD | NEW |