| Index: runtime/vm/intermediate_language.h
|
| ===================================================================
|
| --- runtime/vm/intermediate_language.h (revision 30802)
|
| +++ runtime/vm/intermediate_language.h (working copy)
|
| @@ -6667,6 +6667,8 @@
|
| static intptr_t InputCountFor(MergedMathInstr::Kind kind) {
|
| if (kind == kTruncDivMod) {
|
| return 2;
|
| + } else if (kind == kSinCos) {
|
| + return 1;
|
| } else {
|
| UNIMPLEMENTED();
|
| return -1;
|
| @@ -6687,6 +6689,8 @@
|
| virtual bool CanDeoptimize() const {
|
| if (kind_ == kTruncDivMod) {
|
| return true;
|
| + } else if (kind_ == kSinCos) {
|
| + return false;
|
| } else {
|
| UNIMPLEMENTED();
|
| return false;
|
| @@ -6696,6 +6700,8 @@
|
| virtual Representation representation() const {
|
| if (kind_ == kTruncDivMod) {
|
| return kTagged;
|
| + } else if (kind_ == kSinCos) {
|
| + return kTagged;
|
| } else {
|
| UNIMPLEMENTED();
|
| return kTagged;
|
| @@ -6703,9 +6709,11 @@
|
| }
|
|
|
| virtual Representation RequiredInputRepresentation(intptr_t idx) const {
|
| + ASSERT((0 <= idx) && (idx < InputCount()));
|
| if (kind_ == kTruncDivMod) {
|
| - ASSERT((0 <= idx) && (idx < InputCount()));
|
| return kTagged;
|
| + } else if (kind_ == kSinCos) {
|
| + return kUnboxedDouble;
|
| } else {
|
| UNIMPLEMENTED();
|
| return kTagged;
|
| @@ -6737,6 +6745,7 @@
|
|
|
| static const char* KindToCString(MergedMathInstr::Kind kind) {
|
| if (kind == kTruncDivMod) return "TruncDivMod";
|
| + if (kind == kSinCos) return "SinCos";
|
| UNIMPLEMENTED();
|
| return "";
|
| }
|
|
|