| 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 |