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

Side by Side Diff: src/objects-inl.h

Issue 882973002: [turbofan] Improve JSON output (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Fix ASAN Created 5 years, 10 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 unified diff | Download patch
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 // 4 //
5 // Review notes: 5 // Review notes:
6 // 6 //
7 // - The use of macros in these inline functions may seem superfluous 7 // - The use of macros in these inline functions may seem superfluous
8 // but it is absolutely needed to make sure gcc generates optimal 8 // but it is absolutely needed to make sure gcc generates optimal
9 // code. gcc is not happy when attempting to inline too deep. 9 // code. gcc is not happy when attempting to inline too deep.
10 // 10 //
(...skipping 7503 matching lines...) Expand 10 before | Expand all | Expand 10 after
7514 7514
7515 Object* JSMapIterator::CurrentValue() { 7515 Object* JSMapIterator::CurrentValue() {
7516 OrderedHashMap* table(OrderedHashMap::cast(this->table())); 7516 OrderedHashMap* table(OrderedHashMap::cast(this->table()));
7517 int index = Smi::cast(this->index())->value(); 7517 int index = Smi::cast(this->index())->value();
7518 Object* value = table->ValueAt(index); 7518 Object* value = table->ValueAt(index);
7519 DCHECK(!value->IsTheHole()); 7519 DCHECK(!value->IsTheHole());
7520 return value; 7520 return value;
7521 } 7521 }
7522 7522
7523 7523
7524 class String::SubStringRange::iterator FINAL {
7525 public:
7526 typedef std::forward_iterator_tag iterator_category;
7527 typedef int difference_type;
7528 typedef uc16 value_type;
7529 typedef uc16* pointer;
7530 typedef uc16& reference;
7531
7532 iterator(const iterator& other)
7533 : content_(other.content_), offset_(other.offset_) {}
7534
7535 uc16 operator*() { return content_.Get(offset_); }
7536 bool operator==(const iterator& other) const {
7537 return content_.UsesSameString(other.content_) && offset_ == other.offset_;
7538 }
7539 bool operator!=(const iterator& other) const {
7540 return !content_.UsesSameString(other.content_) || offset_ != other.offset_;
7541 }
7542 iterator& operator++() {
7543 ++offset_;
7544 return *this;
7545 }
7546 iterator operator++(int);
7547
7548 private:
7549 friend class String;
7550 iterator(String* from, int offset)
7551 : content_(from->GetFlatContent()), offset_(offset) {}
7552 String::FlatContent content_;
7553 int offset_;
7554 };
7555
7556
7557 String::SubStringRange::iterator String::SubStringRange::begin() {
7558 return String::SubStringRange::iterator(string_, first_);
7559 }
7560
7561
7562 String::SubStringRange::iterator String::SubStringRange::end() {
7563 return String::SubStringRange::iterator(string_, first_ + length_);
7564 }
7565
7566
7524 #undef TYPE_CHECKER 7567 #undef TYPE_CHECKER
7525 #undef CAST_ACCESSOR 7568 #undef CAST_ACCESSOR
7526 #undef INT_ACCESSORS 7569 #undef INT_ACCESSORS
7527 #undef ACCESSORS 7570 #undef ACCESSORS
7528 #undef ACCESSORS_TO_SMI 7571 #undef ACCESSORS_TO_SMI
7529 #undef SMI_ACCESSORS 7572 #undef SMI_ACCESSORS
7530 #undef SYNCHRONIZED_SMI_ACCESSORS 7573 #undef SYNCHRONIZED_SMI_ACCESSORS
7531 #undef NOBARRIER_SMI_ACCESSORS 7574 #undef NOBARRIER_SMI_ACCESSORS
7532 #undef BOOL_GETTER 7575 #undef BOOL_GETTER
7533 #undef BOOL_ACCESSORS 7576 #undef BOOL_ACCESSORS
(...skipping 16 matching lines...) Expand all
7550 #undef READ_SHORT_FIELD 7593 #undef READ_SHORT_FIELD
7551 #undef WRITE_SHORT_FIELD 7594 #undef WRITE_SHORT_FIELD
7552 #undef READ_BYTE_FIELD 7595 #undef READ_BYTE_FIELD
7553 #undef WRITE_BYTE_FIELD 7596 #undef WRITE_BYTE_FIELD
7554 #undef NOBARRIER_READ_BYTE_FIELD 7597 #undef NOBARRIER_READ_BYTE_FIELD
7555 #undef NOBARRIER_WRITE_BYTE_FIELD 7598 #undef NOBARRIER_WRITE_BYTE_FIELD
7556 7599
7557 } } // namespace v8::internal 7600 } } // namespace v8::internal
7558 7601
7559 #endif // V8_OBJECTS_INL_H_ 7602 #endif // V8_OBJECTS_INL_H_
OLDNEW
« src/compiler/pipeline.cc ('K') | « src/objects.h ('k') | src/ostreams.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698