Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(373)

Side by Side Diff: runtime/vm/flow_graph_builder.h

Issue 68663003: Merge TRUNCDIV and MOD into TRUNCDIV_MOD single operation. (Closed) Base URL: http://dart.googlecode.com/svn/branches/bleeding_edge/dart/
Patch Set: Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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, 176587978) \ 32 V(_ListFactory, kArrayCid, 1951595340) \
33 V(_GrowableListWithData, kGrowableObjectArrayCid, 264792196) \ 33 V(_GrowableListWithData, kGrowableObjectArrayCid, 2019248834) \
34 V(_GrowableListFactory, kGrowableObjectArrayCid, 1720763678) \ 34 V(_GrowableListFactory, kGrowableObjectArrayCid, 1193528988) \
35 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 545976988) \ 35 V(_Int8ArrayFactory, kTypedDataInt8ArrayCid, 16429276) \
36 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 981297074) \ 36 V(_Uint8ArrayFactory, kTypedDataUint8ArrayCid, 451749362) \
37 V(_Uint8ClampedArrayFactory, kTypedDataUint8ClampedArrayCid, 1617830104) \ 37 V(_Uint8ClampedArrayFactory, kTypedDataUint8ClampedArrayCid, 1088282392) \
38 V(_Int16ArrayFactory, kTypedDataInt16ArrayCid, 300928419) \ 38 V(_Int16ArrayFactory, kTypedDataInt16ArrayCid, 1918864355) \
39 V(_Uint16ArrayFactory, kTypedDataUint16ArrayCid, 480982704) \ 39 V(_Uint16ArrayFactory, kTypedDataUint16ArrayCid, 2098918640) \
40 V(_Int32ArrayFactory, kTypedDataInt32ArrayCid, 1876611964) \ 40 V(_Int32ArrayFactory, kTypedDataInt32ArrayCid, 1347064252) \
41 V(_Uint32ArrayFactory, kTypedDataUint32ArrayCid, 1811693442) \ 41 V(_Uint32ArrayFactory, kTypedDataUint32ArrayCid, 1282145730) \
42 V(_Int64ArrayFactory, kTypedDataInt64ArrayCid, 958749261) \ 42 V(_Int64ArrayFactory, kTypedDataInt64ArrayCid, 429201549) \
43 V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 767338823) \ 43 V(_Uint64ArrayFactory, kTypedDataUint64ArrayCid, 237791111) \
44 V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 1599078532) \ 44 V(_Float64ArrayFactory, kTypedDataFloat64ArrayCid, 1069530820) \
45 V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 1721244151) \ 45 V(_Float32ArrayFactory, kTypedDataFloat32ArrayCid, 1191696439) \
46 V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 879975401) \ 46 V(_Float32x4ArrayFactory, kTypedDataFloat32x4ArrayCid, 350427689) \
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
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_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698