| 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 #include "vm/intermediate_language.h" | 5 #include "vm/intermediate_language.h" |
| 6 | 6 |
| 7 #include "vm/bit_vector.h" | 7 #include "vm/bit_vector.h" |
| 8 #include "vm/flow_graph_builder.h" | 8 #include "vm/flow_graph_builder.h" |
| 9 #include "vm/flow_graph_compiler.h" | 9 #include "vm/flow_graph_compiler.h" |
| 10 #include "vm/locations.h" | 10 #include "vm/locations.h" |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 407 RawAbstractType* StrictCompareComp::StaticType() const { | 407 RawAbstractType* StrictCompareComp::StaticType() const { |
| 408 return Type::BoolInterface(); | 408 return Type::BoolInterface(); |
| 409 } | 409 } |
| 410 | 410 |
| 411 | 411 |
| 412 RawAbstractType* EqualityCompareComp::StaticType() const { | 412 RawAbstractType* EqualityCompareComp::StaticType() const { |
| 413 return Type::BoolInterface(); | 413 return Type::BoolInterface(); |
| 414 } | 414 } |
| 415 | 415 |
| 416 | 416 |
| 417 RawAbstractType* RelationalOpComp::StaticType() const { |
| 418 return Type::BoolInterface(); |
| 419 } |
| 420 |
| 421 |
| 417 RawAbstractType* NativeCallComp::StaticType() const { | 422 RawAbstractType* NativeCallComp::StaticType() const { |
| 418 // The result type of the native function is identical to the result type of | 423 // The result type of the native function is identical to the result type of |
| 419 // the enclosing native Dart function. However, we prefer to check the type | 424 // the enclosing native Dart function. However, we prefer to check the type |
| 420 // of the value returned from the native call. | 425 // of the value returned from the native call. |
| 421 return Type::DynamicType(); | 426 return Type::DynamicType(); |
| 422 } | 427 } |
| 423 | 428 |
| 424 | 429 |
| 425 RawAbstractType* LoadIndexedComp::StaticType() const { | 430 RawAbstractType* LoadIndexedComp::StaticType() const { |
| 426 return Type::DynamicType(); | 431 return Type::DynamicType(); |
| (...skipping 152 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 579 return AbstractType::null(); | 584 return AbstractType::null(); |
| 580 } | 585 } |
| 581 | 586 |
| 582 | 587 |
| 583 RawAbstractType* CatchEntryComp::StaticType() const { | 588 RawAbstractType* CatchEntryComp::StaticType() const { |
| 584 UNREACHABLE(); | 589 UNREACHABLE(); |
| 585 return AbstractType::null(); | 590 return AbstractType::null(); |
| 586 } | 591 } |
| 587 | 592 |
| 588 | 593 |
| 594 RawAbstractType* CheckStackOverflowComp::StaticType() const { |
| 595 UNREACHABLE(); |
| 596 return AbstractType::null(); |
| 597 } |
| 598 |
| 599 |
| 589 RawAbstractType* BinaryOpComp::StaticType() const { | 600 RawAbstractType* BinaryOpComp::StaticType() const { |
| 590 // TODO(srdjan): Compute based on input types (ICData). | 601 // TODO(srdjan): Compute based on input types (ICData). |
| 591 return Type::DynamicType(); | 602 return Type::DynamicType(); |
| 592 } | 603 } |
| 593 | 604 |
| 594 | 605 |
| 595 RawAbstractType* UnarySmiOpComp::StaticType() const { | 606 RawAbstractType* UnarySmiOpComp::StaticType() const { |
| 596 return Type::IntInterface(); | 607 return Type::IntInterface(); |
| 597 } | 608 } |
| 598 | 609 |
| (...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 983 StubCode::GetAllocationStubForClosure(closure_function)); | 994 StubCode::GetAllocationStubForClosure(closure_function)); |
| 984 const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint()); | 995 const ExternalLabel label(closure_function.ToCString(), stub.EntryPoint()); |
| 985 compiler->GenerateCall(token_index(), try_index(), &label, | 996 compiler->GenerateCall(token_index(), try_index(), &label, |
| 986 PcDescriptors::kOther); | 997 PcDescriptors::kOther); |
| 987 __ Drop(2); // Discard type arguments and receiver. | 998 __ Drop(2); // Discard type arguments and receiver. |
| 988 } | 999 } |
| 989 | 1000 |
| 990 #undef __ | 1001 #undef __ |
| 991 | 1002 |
| 992 } // namespace dart | 1003 } // namespace dart |
| OLD | NEW |