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

Unified Diff: runtime/vm/object.cc

Issue 2132933003: VM: Remove collection of unused range feedback. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: remove comment Created 4 years, 5 months 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 side-by-side diff with in-line comments
Download patch
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/raw_object.h » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: runtime/vm/object.cc
diff --git a/runtime/vm/object.cc b/runtime/vm/object.cc
index 9b2e3194209fc655ea93cab4e97204235adb5d27..e35f35f1db9967bd09cae847c5062e0eea499556 100644
--- a/runtime/vm/object.cc
+++ b/runtime/vm/object.cc
@@ -13520,95 +13520,6 @@ RawICData* ICData::Clone(const ICData& from) {
}
-static Token::Kind RecognizeArithmeticOp(const String& name) {
- ASSERT(name.IsSymbol());
- if (name.raw() == Symbols::Plus().raw()) {
- return Token::kADD;
- } else if (name.raw() == Symbols::Minus().raw()) {
- return Token::kSUB;
- } else if (name.raw() == Symbols::Star().raw()) {
- return Token::kMUL;
- } else if (name.raw() == Symbols::Slash().raw()) {
- return Token::kDIV;
- } else if (name.raw() == Symbols::TruncDivOperator().raw()) {
- return Token::kTRUNCDIV;
- } else if (name.raw() == Symbols::Percent().raw()) {
- return Token::kMOD;
- } else if (name.raw() == Symbols::BitOr().raw()) {
- return Token::kBIT_OR;
- } else if (name.raw() == Symbols::Ampersand().raw()) {
- return Token::kBIT_AND;
- } else if (name.raw() == Symbols::Caret().raw()) {
- return Token::kBIT_XOR;
- } else if (name.raw() == Symbols::LeftShiftOperator().raw()) {
- return Token::kSHL;
- } else if (name.raw() == Symbols::RightShiftOperator().raw()) {
- return Token::kSHR;
- } else if (name.raw() == Symbols::Tilde().raw()) {
- return Token::kBIT_NOT;
- } else if (name.raw() == Symbols::UnaryMinus().raw()) {
- return Token::kNEGATE;
- }
- return Token::kILLEGAL;
-}
-
-
-bool ICData::HasRangeFeedback() const {
- const String& target = String::Handle(target_name());
- const Token::Kind token_kind = RecognizeArithmeticOp(target);
- if (!Token::IsBinaryArithmeticOperator(token_kind) &&
- !Token::IsUnaryArithmeticOperator(token_kind)) {
- return false;
- }
-
- bool initialized = false;
- const intptr_t len = NumberOfChecks();
- GrowableArray<intptr_t> class_ids;
- for (intptr_t i = 0; i < len; i++) {
- if (IsUsedAt(i)) {
- initialized = true;
- GetClassIdsAt(i, &class_ids);
- for (intptr_t j = 0; j < class_ids.length(); j++) {
- const intptr_t cid = class_ids[j];
- if ((cid != kSmiCid) && (cid != kMintCid)) {
- return false;
- }
- }
- }
- }
-
- return initialized;
-}
-
-
-ICData::RangeFeedback ICData::DecodeRangeFeedbackAt(intptr_t idx) const {
- ASSERT((0 <= idx) && (idx < 3));
- const uint32_t raw_feedback =
- RangeFeedbackBits::decode(raw_ptr()->state_bits_);
- const uint32_t feedback =
- (raw_feedback >> (idx * kBitsPerRangeFeedback)) & kRangeFeedbackMask;
- if ((feedback & kInt64RangeBit) != 0) {
- return kInt64Range;
- }
-
- if ((feedback & kUint32RangeBit) != 0) {
- if ((feedback & kSignedRangeBit) == 0) {
- return kUint32Range;
- }
-
- // Check if Smi is large enough to accomodate Int33: a mixture of Uint32
- // and negative Int32 values.
- return (kSmiBits < 33) ? kInt64Range : kSmiRange;
- }
-
- if ((feedback & kInt32RangeBit) != 0) {
- return kInt32Range;
- }
-
- return kSmiRange;
-}
-
-
Code::Comments& Code::Comments::New(intptr_t count) {
Comments* comments;
if (count < 0 || count > (kIntptrMax / kNumberOfEntries)) {
« no previous file with comments | « runtime/vm/object.h ('k') | runtime/vm/raw_object.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698