OLD | NEW |
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 #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 | 9 |
10 #include "src/allocation.h" | 10 #include "src/allocation.h" |
(...skipping 2414 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2425 | 2425 |
2426 class FixedDoubleArray; | 2426 class FixedDoubleArray; |
2427 class IncrementalMarking; | 2427 class IncrementalMarking; |
2428 | 2428 |
2429 | 2429 |
2430 // FixedArray describes fixed-sized arrays with element type Object*. | 2430 // FixedArray describes fixed-sized arrays with element type Object*. |
2431 class FixedArray: public FixedArrayBase { | 2431 class FixedArray: public FixedArrayBase { |
2432 public: | 2432 public: |
2433 // Setter and getter for elements. | 2433 // Setter and getter for elements. |
2434 inline Object* get(int index) const; | 2434 inline Object* get(int index) const; |
2435 static void SetValue(Handle<JSObject> holder, Handle<FixedArray> array, | 2435 static void SetValue(Handle<FixedArray> array, uint32_t index, |
2436 uint32_t index, Handle<Object> value); | 2436 Handle<Object> value); |
2437 static inline Handle<Object> get(Handle<FixedArray> array, int index); | 2437 static inline Handle<Object> get(Handle<FixedArray> array, int index); |
2438 // Setter that uses write barrier. | 2438 // Setter that uses write barrier. |
2439 inline void set(int index, Object* value); | 2439 inline void set(int index, Object* value); |
2440 inline bool is_the_hole(int index); | 2440 inline bool is_the_hole(int index); |
2441 | 2441 |
2442 // Setter that doesn't need write barrier. | 2442 // Setter that doesn't need write barrier. |
2443 inline void set(int index, Smi* value); | 2443 inline void set(int index, Smi* value); |
2444 // Setter with explicit barrier mode. | 2444 // Setter with explicit barrier mode. |
2445 inline void set(int index, Object* value, WriteBarrierMode mode); | 2445 inline void set(int index, Object* value, WriteBarrierMode mode); |
2446 | 2446 |
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2549 | 2549 |
2550 | 2550 |
2551 // FixedDoubleArray describes fixed-sized arrays with element type double. | 2551 // FixedDoubleArray describes fixed-sized arrays with element type double. |
2552 class FixedDoubleArray: public FixedArrayBase { | 2552 class FixedDoubleArray: public FixedArrayBase { |
2553 public: | 2553 public: |
2554 // Setter and getter for elements. | 2554 // Setter and getter for elements. |
2555 inline double get_scalar(int index); | 2555 inline double get_scalar(int index); |
2556 inline uint64_t get_representation(int index); | 2556 inline uint64_t get_representation(int index); |
2557 static inline Handle<Object> get(Handle<FixedDoubleArray> array, int index); | 2557 static inline Handle<Object> get(Handle<FixedDoubleArray> array, int index); |
2558 // This accessor has to get a Number as |value|. | 2558 // This accessor has to get a Number as |value|. |
2559 static void SetValue(Handle<JSObject> holder, Handle<FixedDoubleArray> array, | 2559 static void SetValue(Handle<FixedDoubleArray> array, uint32_t index, |
2560 uint32_t index, Handle<Object> value); | 2560 Handle<Object> value); |
2561 inline void set(int index, double value); | 2561 inline void set(int index, double value); |
2562 inline void set_the_hole(int index); | 2562 inline void set_the_hole(int index); |
2563 | 2563 |
2564 // Checking for the hole. | 2564 // Checking for the hole. |
2565 inline bool is_the_hole(int index); | 2565 inline bool is_the_hole(int index); |
2566 | 2566 |
2567 // Garbage collection support. | 2567 // Garbage collection support. |
2568 inline static int SizeFor(int length) { | 2568 inline static int SizeFor(int length) { |
2569 return kHeaderSize + length * kDoubleSize; | 2569 return kHeaderSize + length * kDoubleSize; |
2570 } | 2570 } |
(...skipping 1814 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4385 inline uint8_t* external_uint8_clamped_pointer(); | 4385 inline uint8_t* external_uint8_clamped_pointer(); |
4386 | 4386 |
4387 // Setter and getter. | 4387 // Setter and getter. |
4388 inline uint8_t get_scalar(int index); | 4388 inline uint8_t get_scalar(int index); |
4389 static inline Handle<Object> get(Handle<ExternalUint8ClampedArray> array, | 4389 static inline Handle<Object> get(Handle<ExternalUint8ClampedArray> array, |
4390 int index); | 4390 int index); |
4391 inline void set(int index, uint8_t value); | 4391 inline void set(int index, uint8_t value); |
4392 | 4392 |
4393 // This accessor applies the correct conversion from Smi, HeapNumber | 4393 // This accessor applies the correct conversion from Smi, HeapNumber |
4394 // and undefined and clamps the converted value between 0 and 255. | 4394 // and undefined and clamps the converted value between 0 and 255. |
4395 static void SetValue(Handle<JSObject> holder, | 4395 static void SetValue(Handle<ExternalUint8ClampedArray> array, uint32_t index, |
4396 Handle<ExternalUint8ClampedArray> array, uint32_t index, | |
4397 Handle<Object> value); | 4396 Handle<Object> value); |
4398 | 4397 |
4399 DECLARE_CAST(ExternalUint8ClampedArray) | 4398 DECLARE_CAST(ExternalUint8ClampedArray) |
4400 | 4399 |
4401 // Dispatched behavior. | 4400 // Dispatched behavior. |
4402 DECLARE_PRINTER(ExternalUint8ClampedArray) | 4401 DECLARE_PRINTER(ExternalUint8ClampedArray) |
4403 DECLARE_VERIFIER(ExternalUint8ClampedArray) | 4402 DECLARE_VERIFIER(ExternalUint8ClampedArray) |
4404 | 4403 |
4405 private: | 4404 private: |
4406 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint8ClampedArray); | 4405 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint8ClampedArray); |
4407 }; | 4406 }; |
4408 | 4407 |
4409 | 4408 |
4410 class ExternalInt8Array: public ExternalArray { | 4409 class ExternalInt8Array: public ExternalArray { |
4411 public: | 4410 public: |
4412 // Setter and getter. | 4411 // Setter and getter. |
4413 inline int8_t get_scalar(int index); | 4412 inline int8_t get_scalar(int index); |
4414 static inline Handle<Object> get(Handle<ExternalInt8Array> array, int index); | 4413 static inline Handle<Object> get(Handle<ExternalInt8Array> array, int index); |
4415 inline void set(int index, int8_t value); | 4414 inline void set(int index, int8_t value); |
4416 | 4415 |
4417 // This accessor applies the correct conversion from Smi, HeapNumber | 4416 // This accessor applies the correct conversion from Smi, HeapNumber |
4418 // and undefined. | 4417 // and undefined. |
4419 static void SetValue(Handle<JSObject> holder, Handle<ExternalInt8Array> array, | 4418 static void SetValue(Handle<ExternalInt8Array> array, uint32_t index, |
4420 uint32_t index, Handle<Object> value); | 4419 Handle<Object> value); |
4421 | 4420 |
4422 DECLARE_CAST(ExternalInt8Array) | 4421 DECLARE_CAST(ExternalInt8Array) |
4423 | 4422 |
4424 // Dispatched behavior. | 4423 // Dispatched behavior. |
4425 DECLARE_PRINTER(ExternalInt8Array) | 4424 DECLARE_PRINTER(ExternalInt8Array) |
4426 DECLARE_VERIFIER(ExternalInt8Array) | 4425 DECLARE_VERIFIER(ExternalInt8Array) |
4427 | 4426 |
4428 private: | 4427 private: |
4429 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalInt8Array); | 4428 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalInt8Array); |
4430 }; | 4429 }; |
4431 | 4430 |
4432 | 4431 |
4433 class ExternalUint8Array: public ExternalArray { | 4432 class ExternalUint8Array: public ExternalArray { |
4434 public: | 4433 public: |
4435 // Setter and getter. | 4434 // Setter and getter. |
4436 inline uint8_t get_scalar(int index); | 4435 inline uint8_t get_scalar(int index); |
4437 static inline Handle<Object> get(Handle<ExternalUint8Array> array, int index); | 4436 static inline Handle<Object> get(Handle<ExternalUint8Array> array, int index); |
4438 inline void set(int index, uint8_t value); | 4437 inline void set(int index, uint8_t value); |
4439 | 4438 |
4440 // This accessor applies the correct conversion from Smi, HeapNumber | 4439 // This accessor applies the correct conversion from Smi, HeapNumber |
4441 // and undefined. | 4440 // and undefined. |
4442 static void SetValue(Handle<JSObject> holder, | 4441 static void SetValue(Handle<ExternalUint8Array> array, uint32_t index, |
4443 Handle<ExternalUint8Array> array, uint32_t index, | |
4444 Handle<Object> value); | 4442 Handle<Object> value); |
4445 | 4443 |
4446 DECLARE_CAST(ExternalUint8Array) | 4444 DECLARE_CAST(ExternalUint8Array) |
4447 | 4445 |
4448 // Dispatched behavior. | 4446 // Dispatched behavior. |
4449 DECLARE_PRINTER(ExternalUint8Array) | 4447 DECLARE_PRINTER(ExternalUint8Array) |
4450 DECLARE_VERIFIER(ExternalUint8Array) | 4448 DECLARE_VERIFIER(ExternalUint8Array) |
4451 | 4449 |
4452 private: | 4450 private: |
4453 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint8Array); | 4451 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint8Array); |
4454 }; | 4452 }; |
4455 | 4453 |
4456 | 4454 |
4457 class ExternalInt16Array: public ExternalArray { | 4455 class ExternalInt16Array: public ExternalArray { |
4458 public: | 4456 public: |
4459 // Setter and getter. | 4457 // Setter and getter. |
4460 inline int16_t get_scalar(int index); | 4458 inline int16_t get_scalar(int index); |
4461 static inline Handle<Object> get(Handle<ExternalInt16Array> array, int index); | 4459 static inline Handle<Object> get(Handle<ExternalInt16Array> array, int index); |
4462 inline void set(int index, int16_t value); | 4460 inline void set(int index, int16_t value); |
4463 | 4461 |
4464 // This accessor applies the correct conversion from Smi, HeapNumber | 4462 // This accessor applies the correct conversion from Smi, HeapNumber |
4465 // and undefined. | 4463 // and undefined. |
4466 static void SetValue(Handle<JSObject> holder, | 4464 static void SetValue(Handle<ExternalInt16Array> array, uint32_t index, |
4467 Handle<ExternalInt16Array> array, uint32_t index, | |
4468 Handle<Object> value); | 4465 Handle<Object> value); |
4469 | 4466 |
4470 DECLARE_CAST(ExternalInt16Array) | 4467 DECLARE_CAST(ExternalInt16Array) |
4471 | 4468 |
4472 // Dispatched behavior. | 4469 // Dispatched behavior. |
4473 DECLARE_PRINTER(ExternalInt16Array) | 4470 DECLARE_PRINTER(ExternalInt16Array) |
4474 DECLARE_VERIFIER(ExternalInt16Array) | 4471 DECLARE_VERIFIER(ExternalInt16Array) |
4475 | 4472 |
4476 private: | 4473 private: |
4477 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalInt16Array); | 4474 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalInt16Array); |
4478 }; | 4475 }; |
4479 | 4476 |
4480 | 4477 |
4481 class ExternalUint16Array: public ExternalArray { | 4478 class ExternalUint16Array: public ExternalArray { |
4482 public: | 4479 public: |
4483 // Setter and getter. | 4480 // Setter and getter. |
4484 inline uint16_t get_scalar(int index); | 4481 inline uint16_t get_scalar(int index); |
4485 static inline Handle<Object> get(Handle<ExternalUint16Array> array, | 4482 static inline Handle<Object> get(Handle<ExternalUint16Array> array, |
4486 int index); | 4483 int index); |
4487 inline void set(int index, uint16_t value); | 4484 inline void set(int index, uint16_t value); |
4488 | 4485 |
4489 // This accessor applies the correct conversion from Smi, HeapNumber | 4486 // This accessor applies the correct conversion from Smi, HeapNumber |
4490 // and undefined. | 4487 // and undefined. |
4491 static void SetValue(Handle<JSObject> holder, | 4488 static void SetValue(Handle<ExternalUint16Array> array, uint32_t index, |
4492 Handle<ExternalUint16Array> array, uint32_t index, | |
4493 Handle<Object> value); | 4489 Handle<Object> value); |
4494 | 4490 |
4495 DECLARE_CAST(ExternalUint16Array) | 4491 DECLARE_CAST(ExternalUint16Array) |
4496 | 4492 |
4497 // Dispatched behavior. | 4493 // Dispatched behavior. |
4498 DECLARE_PRINTER(ExternalUint16Array) | 4494 DECLARE_PRINTER(ExternalUint16Array) |
4499 DECLARE_VERIFIER(ExternalUint16Array) | 4495 DECLARE_VERIFIER(ExternalUint16Array) |
4500 | 4496 |
4501 private: | 4497 private: |
4502 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint16Array); | 4498 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint16Array); |
4503 }; | 4499 }; |
4504 | 4500 |
4505 | 4501 |
4506 class ExternalInt32Array: public ExternalArray { | 4502 class ExternalInt32Array: public ExternalArray { |
4507 public: | 4503 public: |
4508 // Setter and getter. | 4504 // Setter and getter. |
4509 inline int32_t get_scalar(int index); | 4505 inline int32_t get_scalar(int index); |
4510 static inline Handle<Object> get(Handle<ExternalInt32Array> array, int index); | 4506 static inline Handle<Object> get(Handle<ExternalInt32Array> array, int index); |
4511 inline void set(int index, int32_t value); | 4507 inline void set(int index, int32_t value); |
4512 | 4508 |
4513 // This accessor applies the correct conversion from Smi, HeapNumber | 4509 // This accessor applies the correct conversion from Smi, HeapNumber |
4514 // and undefined. | 4510 // and undefined. |
4515 static void SetValue(Handle<JSObject> holder, | 4511 static void SetValue(Handle<ExternalInt32Array> array, uint32_t index, |
4516 Handle<ExternalInt32Array> array, uint32_t index, | |
4517 Handle<Object> value); | 4512 Handle<Object> value); |
4518 | 4513 |
4519 DECLARE_CAST(ExternalInt32Array) | 4514 DECLARE_CAST(ExternalInt32Array) |
4520 | 4515 |
4521 // Dispatched behavior. | 4516 // Dispatched behavior. |
4522 DECLARE_PRINTER(ExternalInt32Array) | 4517 DECLARE_PRINTER(ExternalInt32Array) |
4523 DECLARE_VERIFIER(ExternalInt32Array) | 4518 DECLARE_VERIFIER(ExternalInt32Array) |
4524 | 4519 |
4525 private: | 4520 private: |
4526 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalInt32Array); | 4521 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalInt32Array); |
4527 }; | 4522 }; |
4528 | 4523 |
4529 | 4524 |
4530 class ExternalUint32Array: public ExternalArray { | 4525 class ExternalUint32Array: public ExternalArray { |
4531 public: | 4526 public: |
4532 // Setter and getter. | 4527 // Setter and getter. |
4533 inline uint32_t get_scalar(int index); | 4528 inline uint32_t get_scalar(int index); |
4534 static inline Handle<Object> get(Handle<ExternalUint32Array> array, | 4529 static inline Handle<Object> get(Handle<ExternalUint32Array> array, |
4535 int index); | 4530 int index); |
4536 inline void set(int index, uint32_t value); | 4531 inline void set(int index, uint32_t value); |
4537 | 4532 |
4538 // This accessor applies the correct conversion from Smi, HeapNumber | 4533 // This accessor applies the correct conversion from Smi, HeapNumber |
4539 // and undefined. | 4534 // and undefined. |
4540 static void SetValue(Handle<JSObject> holder, | 4535 static void SetValue(Handle<ExternalUint32Array> array, uint32_t index, |
4541 Handle<ExternalUint32Array> array, uint32_t index, | |
4542 Handle<Object> value); | 4536 Handle<Object> value); |
4543 | 4537 |
4544 DECLARE_CAST(ExternalUint32Array) | 4538 DECLARE_CAST(ExternalUint32Array) |
4545 | 4539 |
4546 // Dispatched behavior. | 4540 // Dispatched behavior. |
4547 DECLARE_PRINTER(ExternalUint32Array) | 4541 DECLARE_PRINTER(ExternalUint32Array) |
4548 DECLARE_VERIFIER(ExternalUint32Array) | 4542 DECLARE_VERIFIER(ExternalUint32Array) |
4549 | 4543 |
4550 private: | 4544 private: |
4551 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint32Array); | 4545 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalUint32Array); |
4552 }; | 4546 }; |
4553 | 4547 |
4554 | 4548 |
4555 class ExternalFloat32Array: public ExternalArray { | 4549 class ExternalFloat32Array: public ExternalArray { |
4556 public: | 4550 public: |
4557 // Setter and getter. | 4551 // Setter and getter. |
4558 inline float get_scalar(int index); | 4552 inline float get_scalar(int index); |
4559 static inline Handle<Object> get(Handle<ExternalFloat32Array> array, | 4553 static inline Handle<Object> get(Handle<ExternalFloat32Array> array, |
4560 int index); | 4554 int index); |
4561 inline void set(int index, float value); | 4555 inline void set(int index, float value); |
4562 | 4556 |
4563 // This accessor applies the correct conversion from Smi, HeapNumber | 4557 // This accessor applies the correct conversion from Smi, HeapNumber |
4564 // and undefined. | 4558 // and undefined. |
4565 static void SetValue(Handle<JSObject> holder, | 4559 static void SetValue(Handle<ExternalFloat32Array> array, uint32_t index, |
4566 Handle<ExternalFloat32Array> array, uint32_t index, | |
4567 Handle<Object> value); | 4560 Handle<Object> value); |
4568 | 4561 |
4569 DECLARE_CAST(ExternalFloat32Array) | 4562 DECLARE_CAST(ExternalFloat32Array) |
4570 | 4563 |
4571 // Dispatched behavior. | 4564 // Dispatched behavior. |
4572 DECLARE_PRINTER(ExternalFloat32Array) | 4565 DECLARE_PRINTER(ExternalFloat32Array) |
4573 DECLARE_VERIFIER(ExternalFloat32Array) | 4566 DECLARE_VERIFIER(ExternalFloat32Array) |
4574 | 4567 |
4575 private: | 4568 private: |
4576 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalFloat32Array); | 4569 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalFloat32Array); |
4577 }; | 4570 }; |
4578 | 4571 |
4579 | 4572 |
4580 class ExternalFloat64Array: public ExternalArray { | 4573 class ExternalFloat64Array: public ExternalArray { |
4581 public: | 4574 public: |
4582 // Setter and getter. | 4575 // Setter and getter. |
4583 inline double get_scalar(int index); | 4576 inline double get_scalar(int index); |
4584 static inline Handle<Object> get(Handle<ExternalFloat64Array> array, | 4577 static inline Handle<Object> get(Handle<ExternalFloat64Array> array, |
4585 int index); | 4578 int index); |
4586 inline void set(int index, double value); | 4579 inline void set(int index, double value); |
4587 | 4580 |
4588 // This accessor applies the correct conversion from Smi, HeapNumber | 4581 // This accessor applies the correct conversion from Smi, HeapNumber |
4589 // and undefined. | 4582 // and undefined. |
4590 static void SetValue(Handle<JSObject> holder, | 4583 static void SetValue(Handle<ExternalFloat64Array> array, uint32_t index, |
4591 Handle<ExternalFloat64Array> array, uint32_t index, | |
4592 Handle<Object> value); | 4584 Handle<Object> value); |
4593 | 4585 |
4594 DECLARE_CAST(ExternalFloat64Array) | 4586 DECLARE_CAST(ExternalFloat64Array) |
4595 | 4587 |
4596 // Dispatched behavior. | 4588 // Dispatched behavior. |
4597 DECLARE_PRINTER(ExternalFloat64Array) | 4589 DECLARE_PRINTER(ExternalFloat64Array) |
4598 DECLARE_VERIFIER(ExternalFloat64Array) | 4590 DECLARE_VERIFIER(ExternalFloat64Array) |
4599 | 4591 |
4600 private: | 4592 private: |
4601 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalFloat64Array); | 4593 DISALLOW_IMPLICIT_CONSTRUCTORS(ExternalFloat64Array); |
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
4650 | 4642 |
4651 inline ElementType get_scalar(int index); | 4643 inline ElementType get_scalar(int index); |
4652 static inline Handle<Object> get(Handle<FixedTypedArray> array, int index); | 4644 static inline Handle<Object> get(Handle<FixedTypedArray> array, int index); |
4653 inline void set(int index, ElementType value); | 4645 inline void set(int index, ElementType value); |
4654 | 4646 |
4655 static inline ElementType from_int(int value); | 4647 static inline ElementType from_int(int value); |
4656 static inline ElementType from_double(double value); | 4648 static inline ElementType from_double(double value); |
4657 | 4649 |
4658 // This accessor applies the correct conversion from Smi, HeapNumber | 4650 // This accessor applies the correct conversion from Smi, HeapNumber |
4659 // and undefined. | 4651 // and undefined. |
4660 static void SetValue(Handle<JSObject> holder, | 4652 static void SetValue(Handle<FixedTypedArray<Traits> > array, uint32_t index, |
4661 Handle<FixedTypedArray<Traits> > array, uint32_t index, | |
4662 Handle<Object> value); | 4653 Handle<Object> value); |
4663 | 4654 |
4664 DECLARE_PRINTER(FixedTypedArray) | 4655 DECLARE_PRINTER(FixedTypedArray) |
4665 DECLARE_VERIFIER(FixedTypedArray) | 4656 DECLARE_VERIFIER(FixedTypedArray) |
4666 | 4657 |
4667 private: | 4658 private: |
4668 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArray); | 4659 DISALLOW_IMPLICIT_CONSTRUCTORS(FixedTypedArray); |
4669 }; | 4660 }; |
4670 | 4661 |
4671 #define FIXED_TYPED_ARRAY_TRAITS(Type, type, TYPE, elementType, size) \ | 4662 #define FIXED_TYPED_ARRAY_TRAITS(Type, type, TYPE, elementType, size) \ |
(...skipping 6203 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
10875 } else { | 10866 } else { |
10876 value &= ~(1 << bit_position); | 10867 value &= ~(1 << bit_position); |
10877 } | 10868 } |
10878 return value; | 10869 return value; |
10879 } | 10870 } |
10880 }; | 10871 }; |
10881 | 10872 |
10882 } } // namespace v8::internal | 10873 } } // namespace v8::internal |
10883 | 10874 |
10884 #endif // V8_OBJECTS_H_ | 10875 #endif // V8_OBJECTS_H_ |
OLD | NEW |