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

Side by Side Diff: src/objects.h

Issue 238973003: Handlify Object::GetPrototype and (most) callers. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Minor Created 6 years, 8 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 1557 matching lines...) Expand 10 before | Expand all | Expand 10 after
1568 Handle<Object> object, 1568 Handle<Object> object,
1569 uint32_t index); 1569 uint32_t index);
1570 1570
1571 MUST_USE_RESULT static MaybeHandle<Object> GetElementWithReceiver( 1571 MUST_USE_RESULT static MaybeHandle<Object> GetElementWithReceiver(
1572 Isolate* isolate, 1572 Isolate* isolate,
1573 Handle<Object> object, 1573 Handle<Object> object,
1574 Handle<Object> receiver, 1574 Handle<Object> receiver,
1575 uint32_t index); 1575 uint32_t index);
1576 1576
1577 // Return the object's prototype (might be Heap::null_value()). 1577 // Return the object's prototype (might be Heap::null_value()).
1578 Object* GetPrototype(Isolate* isolate);
1579 static Handle<Object> GetPrototype(Isolate* isolate, Handle<Object> object); 1578 static Handle<Object> GetPrototype(Isolate* isolate, Handle<Object> object);
1579
1580 Map* GetMarkerMap(Isolate* isolate); 1580 Map* GetMarkerMap(Isolate* isolate);
1581 1581
1582 // Returns the permanent hash code associated with this object. May return 1582 // Returns the permanent hash code associated with this object. May return
1583 // undefined if not yet created. 1583 // undefined if not yet created.
1584 Object* GetHash(); 1584 Object* GetHash();
1585 1585
1586 // Returns the permanent hash code associated with this object depending on 1586 // Returns the permanent hash code associated with this object depending on
1587 // the actual object type. May create and store a hash code if needed and none 1587 // the actual object type. May create and store a hash code if needed and none
1588 // exists. 1588 // exists.
1589 // TODO(rafaelw): Remove isolate parameter when objects.cc is fully 1589 // TODO(rafaelw): Remove isolate parameter when objects.cc is fully
(...skipping 28 matching lines...) Expand all
1618 // Prints this object without details to a message accumulator. 1618 // Prints this object without details to a message accumulator.
1619 void ShortPrint(StringStream* accumulator); 1619 void ShortPrint(StringStream* accumulator);
1620 1620
1621 // Casting: This cast is only needed to satisfy macros in objects-inl.h. 1621 // Casting: This cast is only needed to satisfy macros in objects-inl.h.
1622 static Object* cast(Object* value) { return value; } 1622 static Object* cast(Object* value) { return value; }
1623 1623
1624 // Layout description. 1624 // Layout description.
1625 static const int kHeaderSize = 0; // Object does not take up any space. 1625 static const int kHeaderSize = 0; // Object does not take up any space.
1626 1626
1627 private: 1627 private:
1628 Object* GetPrototype(Isolate* isolate);
1629
1628 DISALLOW_IMPLICIT_CONSTRUCTORS(Object); 1630 DISALLOW_IMPLICIT_CONSTRUCTORS(Object);
1629 }; 1631 };
1630 1632
1631 1633
1632 // Smi represents integer Numbers that can be stored in 31 bits. 1634 // Smi represents integer Numbers that can be stored in 31 bits.
1633 // Smis are immediate which means they are NOT allocated in the heap. 1635 // Smis are immediate which means they are NOT allocated in the heap.
1634 // The this pointer has the following format: [31 bit signed int] 0 1636 // The this pointer has the following format: [31 bit signed int] 0
1635 // For long smis it has the following format: 1637 // For long smis it has the following format:
1636 // [32 bit signed int] [31 bits zero padding] 0 1638 // [32 bit signed int] [31 bits zero padding] 0
1637 // Smi stands for small integer. 1639 // Smi stands for small integer.
(...skipping 9419 matching lines...) Expand 10 before | Expand all | Expand 10 after
11057 } else { 11059 } else {
11058 value &= ~(1 << bit_position); 11060 value &= ~(1 << bit_position);
11059 } 11061 }
11060 return value; 11062 return value;
11061 } 11063 }
11062 }; 11064 };
11063 11065
11064 } } // namespace v8::internal 11066 } } // namespace v8::internal
11065 11067
11066 #endif // V8_OBJECTS_H_ 11068 #endif // V8_OBJECTS_H_
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698