OLD | NEW |
1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #ifndef V8_OBJECTS_H_ | 5 #ifndef V8_OBJECTS_H_ |
6 #define V8_OBJECTS_H_ | 6 #define V8_OBJECTS_H_ |
7 | 7 |
8 #include <iosfwd> | 8 #include <iosfwd> |
9 #include <memory> | 9 #include <memory> |
10 | 10 |
(...skipping 9334 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
9345 | 9345 |
9346 inline bool was_neutered(); | 9346 inline bool was_neutered(); |
9347 inline void set_was_neutered(bool value); | 9347 inline void set_was_neutered(bool value); |
9348 | 9348 |
9349 inline bool is_shared(); | 9349 inline bool is_shared(); |
9350 inline void set_is_shared(bool value); | 9350 inline void set_is_shared(bool value); |
9351 | 9351 |
9352 inline bool has_guard_region(); | 9352 inline bool has_guard_region(); |
9353 inline void set_has_guard_region(bool value); | 9353 inline void set_has_guard_region(bool value); |
9354 | 9354 |
| 9355 // TODO(gdeepti): This flag is introduced to disable asm.js optimizations in |
| 9356 // js-typer-lowering.cc, remove when the asm.js case is fixed. |
| 9357 inline bool is_wasm_buffer(); |
| 9358 inline void set_is_wasm_buffer(bool value); |
| 9359 |
9355 DECLARE_CAST(JSArrayBuffer) | 9360 DECLARE_CAST(JSArrayBuffer) |
9356 | 9361 |
9357 void Neuter(); | 9362 void Neuter(); |
9358 | 9363 |
9359 V8_EXPORT_PRIVATE static void Setup( | 9364 V8_EXPORT_PRIVATE static void Setup( |
9360 Handle<JSArrayBuffer> array_buffer, Isolate* isolate, bool is_external, | 9365 Handle<JSArrayBuffer> array_buffer, Isolate* isolate, bool is_external, |
9361 void* data, size_t allocated_length, | 9366 void* data, size_t allocated_length, |
9362 SharedFlag shared = SharedFlag::kNotShared); | 9367 SharedFlag shared = SharedFlag::kNotShared); |
9363 | 9368 |
9364 // Returns false if array buffer contents could not be allocated. | 9369 // Returns false if array buffer contents could not be allocated. |
(...skipping 22 matching lines...) Expand all Loading... |
9387 | 9392 |
9388 // Iterates all fields in the object including internal ones except | 9393 // Iterates all fields in the object including internal ones except |
9389 // kBackingStoreOffset and kBitFieldSlot. | 9394 // kBackingStoreOffset and kBitFieldSlot. |
9390 class BodyDescriptor; | 9395 class BodyDescriptor; |
9391 | 9396 |
9392 class IsExternal : public BitField<bool, 1, 1> {}; | 9397 class IsExternal : public BitField<bool, 1, 1> {}; |
9393 class IsNeuterable : public BitField<bool, 2, 1> {}; | 9398 class IsNeuterable : public BitField<bool, 2, 1> {}; |
9394 class WasNeutered : public BitField<bool, 3, 1> {}; | 9399 class WasNeutered : public BitField<bool, 3, 1> {}; |
9395 class IsShared : public BitField<bool, 4, 1> {}; | 9400 class IsShared : public BitField<bool, 4, 1> {}; |
9396 class HasGuardRegion : public BitField<bool, 5, 1> {}; | 9401 class HasGuardRegion : public BitField<bool, 5, 1> {}; |
| 9402 class IsWasmBuffer : public BitField<bool, 6, 1> {}; |
9397 | 9403 |
9398 private: | 9404 private: |
9399 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBuffer); | 9405 DISALLOW_IMPLICIT_CONSTRUCTORS(JSArrayBuffer); |
9400 }; | 9406 }; |
9401 | 9407 |
9402 | 9408 |
9403 class JSArrayBufferView: public JSObject { | 9409 class JSArrayBufferView: public JSObject { |
9404 public: | 9410 public: |
9405 // [buffer]: ArrayBuffer that this typed array views. | 9411 // [buffer]: ArrayBuffer that this typed array views. |
9406 DECL_ACCESSORS(buffer, Object) | 9412 DECL_ACCESSORS(buffer, Object) |
(...skipping 819 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10226 } | 10232 } |
10227 }; | 10233 }; |
10228 | 10234 |
10229 | 10235 |
10230 } // NOLINT, false-positive due to second-order macros. | 10236 } // NOLINT, false-positive due to second-order macros. |
10231 } // NOLINT, false-positive due to second-order macros. | 10237 } // NOLINT, false-positive due to second-order macros. |
10232 | 10238 |
10233 #include "src/objects/object-macros-undef.h" | 10239 #include "src/objects/object-macros-undef.h" |
10234 | 10240 |
10235 #endif // V8_OBJECTS_H_ | 10241 #endif // V8_OBJECTS_H_ |
OLD | NEW |