Index: src/objects.h |
diff --git a/src/objects.h b/src/objects.h |
index 089d11dd0b7a8cb6130359c071a057953792e4ae..e80c11f327bdc2a686b03d504deb77bf3aecba4e 100644 |
--- a/src/objects.h |
+++ b/src/objects.h |
@@ -2200,6 +2200,17 @@ class JSObject: public JSReceiver { |
inline bool HasFixedTypedArrayElements(); |
+ inline bool HasFixedUint8ClampedElements(); |
+ inline bool HasFixedArrayElements(); |
+ inline bool HasFixedInt8Elements(); |
+ inline bool HasFixedUint8Elements(); |
+ inline bool HasFixedInt16Elements(); |
+ inline bool HasFixedUint16Elements(); |
+ inline bool HasFixedInt32Elements(); |
+ inline bool HasFixedUint32Elements(); |
+ inline bool HasFixedFloat32Elements(); |
+ inline bool HasFixedFloat64Elements(); |
+ |
bool HasFastArgumentsElements(); |
bool HasDictionaryArgumentsElements(); |
inline SeededNumberDictionary* element_dictionary(); // Gets slow elements. |
@@ -4927,6 +4938,11 @@ class FixedTypedArrayBase: public FixedArrayBase { |
inline int size(); |
+ // Use with care: returns raw pointer into heap. |
+ inline void* DataPtr(); |
+ |
+ inline int DataSize(); |
+ |
private: |
DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArrayBase); |
}; |
@@ -4953,6 +4969,9 @@ class FixedTypedArray: public FixedTypedArrayBase { |
MUST_USE_RESULT inline MaybeObject* get(int index); |
inline void set(int index, ElementType value); |
+ static inline ElementType from_int(int value); |
+ static inline ElementType from_double(double value); |
+ |
// This accessor applies the correct conversion from Smi, HeapNumber |
// and undefined. |
MUST_USE_RESULT MaybeObject* SetValue(uint32_t index, Object* value); |
@@ -4975,7 +4994,7 @@ class FixedTypedArray: public FixedTypedArrayBase { |
static const InstanceType kInstanceType = FIXED_##TYPE##_ARRAY_TYPE; \ |
static const char* Designator() { return #type " array"; } \ |
static inline MaybeObject* ToObject(Heap* heap, elementType scalar); \ |
- static elementType defaultValue() { return 0; } \ |
+ static inline elementType defaultValue(); \ |
}; \ |
\ |
typedef FixedTypedArray<Type##ArrayTraits> Fixed##Type##Array; |
@@ -6192,6 +6211,8 @@ class Map: public HeapObject { |
TransitionFlag flag); |
MUST_USE_RESULT MaybeObject* AsElementsKind(ElementsKind kind); |
+ static Handle<Map> AsElementsKind(Handle<Map> map, ElementsKind kind); |
+ |
MUST_USE_RESULT MaybeObject* CopyAsElementsKind(ElementsKind kind, |
TransitionFlag flag); |
@@ -9912,6 +9933,8 @@ class JSTypedArray: public JSArrayBufferView { |
ExternalArrayType type(); |
size_t element_size(); |
+ Handle<JSArrayBuffer> GetBuffer(); |
+ |
// Dispatched behavior. |
DECLARE_PRINTER(JSTypedArray) |
DECLARE_VERIFIER(JSTypedArray) |
@@ -9923,6 +9946,9 @@ class JSTypedArray: public JSArrayBufferView { |
kSize + v8::ArrayBufferView::kInternalFieldCount * kPointerSize; |
private: |
+ static Handle<JSArrayBuffer> MaterializeArrayBuffer( |
+ Handle<JSTypedArray> typed_array); |
+ |
DISALLOW_IMPLICIT_CONSTRUCTORS(JSTypedArray); |
}; |