| Index: runtime/vm/flow_graph_optimizer.cc
|
| ===================================================================
|
| --- runtime/vm/flow_graph_optimizer.cc (revision 17160)
|
| +++ runtime/vm/flow_graph_optimizer.cc (working copy)
|
| @@ -1311,9 +1311,14 @@
|
| }
|
| if ((recognized_kind == MethodRecognizer::kDoubleTruncate) ||
|
| (recognized_kind == MethodRecognizer::kDoubleRound)) {
|
| +#if defined(TARGET_ARCH_IA32) || defined(TARGET_ARCH_X64)
|
| + // TODO(regis): FlowGraphOptimizer should be architecture dependent.
|
| if (!CPUFeatures::sse4_1_supported()) {
|
| return false;
|
| }
|
| +#else
|
| + return false;
|
| +#endif
|
| AddCheckClass(call, call->ArgumentAt(0)->value()->Copy());
|
| DoubleToDoubleInstr* d2d_instr =
|
| new DoubleToDoubleInstr(call->ArgumentAt(0)->value(),
|
| @@ -2001,11 +2006,20 @@
|
| GrowableArray<Definition*> worklist_;
|
| BitVector* marked_defns_;
|
|
|
| - class ArrayLengthData : public ValueObject {
|
| + class ArrayLengthData {
|
| public:
|
| ArrayLengthData(Definition* array, Definition* array_length)
|
| : array_(array), array_length_(array_length) { }
|
|
|
| + ArrayLengthData(const ArrayLengthData& other)
|
| + : array_(other.array_), array_length_(other.array_length_) { }
|
| +
|
| + ArrayLengthData& operator=(const ArrayLengthData& other) {
|
| + array_ = other.array_;
|
| + array_length_ = other.array_length_;
|
| + return *this;
|
| + }
|
| +
|
| Definition* array() const { return array_; }
|
| Definition* array_length() const { return array_length_; }
|
|
|
|
|