OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 | 4 |
5 #ifndef VM_FLOW_GRAPH_BUILDER_H_ | 5 #ifndef VM_FLOW_GRAPH_BUILDER_H_ |
6 #define VM_FLOW_GRAPH_BUILDER_H_ | 6 #define VM_FLOW_GRAPH_BUILDER_H_ |
7 | 7 |
8 #include "platform/assert.h" | 8 #include "platform/assert.h" |
9 #include "platform/globals.h" | 9 #include "platform/globals.h" |
10 #include "vm/allocation.h" | 10 #include "vm/allocation.h" |
(...skipping 11 matching lines...) Expand all Loading... |
22 class Field; | 22 class Field; |
23 class FlowGraph; | 23 class FlowGraph; |
24 class LocalVariable; | 24 class LocalVariable; |
25 class ParsedFunction; | 25 class ParsedFunction; |
26 class String; | 26 class String; |
27 | 27 |
28 // List of recognized list factories: | 28 // List of recognized list factories: |
29 // (factory-name-symbol, result-cid, fingerprint). | 29 // (factory-name-symbol, result-cid, fingerprint). |
30 // TODO(srdjan): Store the values in the snapshot instead. | 30 // TODO(srdjan): Store the values in the snapshot instead. |
31 #define RECOGNIZED_LIST_FACTORY_LIST(V) \ | 31 #define RECOGNIZED_LIST_FACTORY_LIST(V) \ |
32 V(_ListFactory, kArrayCid, 1436567945) \ | 32 V(_ListFactory, kArrayCid, 176587978) \ |
33 V(_GrowableListWithData, kGrowableObjectArrayCid, 461305701) \ | 33 V(_GrowableListWithData, kGrowableObjectArrayCid, 264792196) \ |
34 V(_GrowableListFactory, kGrowableObjectArrayCid, 910639199) \ | 34 V(_GrowableListFactory, kGrowableObjectArrayCid, 1720763678) \ |
35 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 810750844) \ | 35 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 545976988) \ |
36 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 1246070930) \ | 36 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 981297074) \ |
37 V(_Uint8ClampedArrayFactory, kTypedDataUint8ClampedArrayCid, 1882603960) \ | 37 V(_Uint8ClampedArrayFactory, kTypedDataUint8ClampedArrayCid, 1617830104) \ |
38 V(_Int16ArrayFactory, kTypedDataInt16ArrayCid, 565702275) \ | 38 V(_Int16ArrayFactory, kTypedDataInt16ArrayCid, 300928419) \ |
39 V(_Uint16ArrayFactory, kTypedDataUint16ArrayCid, 745756560) \ | 39 V(_Uint16ArrayFactory, kTypedDataUint16ArrayCid, 480982704) \ |
40 V(_Int32ArrayFactory, kTypedDataInt32ArrayCid, 2141385820) \ | 40 V(_Int32ArrayFactory, kTypedDataInt32ArrayCid, 1876611964) \ |
41 V(_Uint32ArrayFactory, kTypedDataUint32ArrayCid, 2076467298) \ | 41 V(_Uint32ArrayFactory, kTypedDataUint32ArrayCid, 1811693442) \ |
42 V(_Int64ArrayFactory, kTypedDataInt64ArrayCid, 1223523117) \ | 42 V(_Int64ArrayFactory, kTypedDataInt64ArrayCid, 958749261) \ |
43 V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 1032112679) \ | 43 V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 767338823) \ |
44 V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 1863852388) \ | 44 V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 1599078532) \ |
45 V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 1986018007) \ | 45 V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 1721244151) \ |
46 V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 1144749257) \ | 46 V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 879975401) \ |
47 | 47 |
48 | 48 |
49 // A class to collect the exits from an inlined function during graph | 49 // A class to collect the exits from an inlined function during graph |
50 // construction so they can be plugged into the caller's flow graph. | 50 // construction so they can be plugged into the caller's flow graph. |
51 class InlineExitCollector: public ZoneAllocated { | 51 class InlineExitCollector: public ZoneAllocated { |
52 public: | 52 public: |
53 InlineExitCollector(FlowGraph* caller_graph, Definition* call) | 53 InlineExitCollector(FlowGraph* caller_graph, Definition* call) |
54 : caller_graph_(caller_graph), call_(call), exits_(4) { } | 54 : caller_graph_(caller_graph), call_(call), exits_(4) { } |
55 | 55 |
56 void AddExit(ReturnInstr* exit); | 56 void AddExit(ReturnInstr* exit); |
(...skipping 480 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
537 // Output parameters. | 537 // Output parameters. |
538 GrowableArray<TargetEntryInstr**> true_successor_addresses_; | 538 GrowableArray<TargetEntryInstr**> true_successor_addresses_; |
539 GrowableArray<TargetEntryInstr**> false_successor_addresses_; | 539 GrowableArray<TargetEntryInstr**> false_successor_addresses_; |
540 | 540 |
541 intptr_t condition_token_pos_; | 541 intptr_t condition_token_pos_; |
542 }; | 542 }; |
543 | 543 |
544 } // namespace dart | 544 } // namespace dart |
545 | 545 |
546 #endif // VM_FLOW_GRAPH_BUILDER_H_ | 546 #endif // VM_FLOW_GRAPH_BUILDER_H_ |
OLD | NEW |