| OLD | NEW | 
|---|
| 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 2157 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2168   return reinterpret_cast<FixedArrayBase*>(object); | 2168   return reinterpret_cast<FixedArrayBase*>(object); | 
| 2169 } | 2169 } | 
| 2170 | 2170 | 
| 2171 | 2171 | 
| 2172 Object* FixedArray::get(int index) { | 2172 Object* FixedArray::get(int index) { | 
| 2173   SLOW_ASSERT(index >= 0 && index < this->length()); | 2173   SLOW_ASSERT(index >= 0 && index < this->length()); | 
| 2174   return READ_FIELD(this, kHeaderSize + index * kPointerSize); | 2174   return READ_FIELD(this, kHeaderSize + index * kPointerSize); | 
| 2175 } | 2175 } | 
| 2176 | 2176 | 
| 2177 | 2177 | 
|  | 2178 Handle<Object> FixedArray::get(Handle<FixedArray> array, int index) { | 
|  | 2179   return handle(array->get(index), array->GetIsolate()); | 
|  | 2180 } | 
|  | 2181 | 
|  | 2182 | 
| 2178 bool FixedArray::is_the_hole(int index) { | 2183 bool FixedArray::is_the_hole(int index) { | 
| 2179   return get(index) == GetHeap()->the_hole_value(); | 2184   return get(index) == GetHeap()->the_hole_value(); | 
| 2180 } | 2185 } | 
| 2181 | 2186 | 
| 2182 | 2187 | 
| 2183 void FixedArray::set(int index, Smi* value) { | 2188 void FixedArray::set(int index, Smi* value) { | 
| 2184   ASSERT(map() != GetHeap()->fixed_cow_array_map()); | 2189   ASSERT(map() != GetHeap()->fixed_cow_array_map()); | 
| 2185   ASSERT(index >= 0 && index < this->length()); | 2190   ASSERT(index >= 0 && index < this->length()); | 
| 2186   ASSERT(reinterpret_cast<Object*>(value)->IsSmi()); | 2191   ASSERT(reinterpret_cast<Object*>(value)->IsSmi()); | 
| 2187   int offset = kHeaderSize + index * kPointerSize; | 2192   int offset = kHeaderSize + index * kPointerSize; | 
| (...skipping 45 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 2233 | 2238 | 
| 2234 MaybeObject* FixedDoubleArray::get(int index) { | 2239 MaybeObject* FixedDoubleArray::get(int index) { | 
| 2235   if (is_the_hole(index)) { | 2240   if (is_the_hole(index)) { | 
| 2236     return GetHeap()->the_hole_value(); | 2241     return GetHeap()->the_hole_value(); | 
| 2237   } else { | 2242   } else { | 
| 2238     return GetHeap()->NumberFromDouble(get_scalar(index)); | 2243     return GetHeap()->NumberFromDouble(get_scalar(index)); | 
| 2239   } | 2244   } | 
| 2240 } | 2245 } | 
| 2241 | 2246 | 
| 2242 | 2247 | 
| 2243 Handle<Object> FixedDoubleArray::get_as_handle(int index) { | 2248 Handle<Object> FixedDoubleArray::get(Handle<FixedDoubleArray> array, | 
| 2244   if (is_the_hole(index)) { | 2249                                      int index) { | 
| 2245     return GetIsolate()->factory()->the_hole_value(); | 2250   if (array->is_the_hole(index)) { | 
|  | 2251     return array->GetIsolate()->factory()->the_hole_value(); | 
| 2246   } else { | 2252   } else { | 
| 2247     return GetIsolate()->factory()->NewNumber(get_scalar(index)); | 2253     return array->GetIsolate()->factory()->NewNumber(array->get_scalar(index)); | 
| 2248   } | 2254   } | 
| 2249 } | 2255 } | 
| 2250 | 2256 | 
| 2251 | 2257 | 
| 2252 void FixedDoubleArray::set(int index, double value) { | 2258 void FixedDoubleArray::set(int index, double value) { | 
| 2253   ASSERT(map() != GetHeap()->fixed_cow_array_map() && | 2259   ASSERT(map() != GetHeap()->fixed_cow_array_map() && | 
| 2254          map() != GetHeap()->fixed_array_map()); | 2260          map() != GetHeap()->fixed_array_map()); | 
| 2255   int offset = kHeaderSize + index * kDoubleSize; | 2261   int offset = kHeaderSize + index * kDoubleSize; | 
| 2256   if (std::isnan(value)) value = canonical_not_the_hole_nan_as_double(); | 2262   if (std::isnan(value)) value = canonical_not_the_hole_nan_as_double(); | 
| 2257   WRITE_DOUBLE_FIELD(this, offset, value); | 2263   WRITE_DOUBLE_FIELD(this, offset, value); | 
| (...skipping 1310 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3568 } | 3574 } | 
| 3569 | 3575 | 
| 3570 | 3576 | 
| 3571 uint8_t ExternalUint8ClampedArray::get_scalar(int index) { | 3577 uint8_t ExternalUint8ClampedArray::get_scalar(int index) { | 
| 3572   ASSERT((index >= 0) && (index < this->length())); | 3578   ASSERT((index >= 0) && (index < this->length())); | 
| 3573   uint8_t* ptr = external_uint8_clamped_pointer(); | 3579   uint8_t* ptr = external_uint8_clamped_pointer(); | 
| 3574   return ptr[index]; | 3580   return ptr[index]; | 
| 3575 } | 3581 } | 
| 3576 | 3582 | 
| 3577 | 3583 | 
| 3578 MaybeObject* ExternalUint8ClampedArray::get(int index) { | 3584 Object* ExternalUint8ClampedArray::get(int index) { | 
| 3579   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 3585   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 
| 3580 } | 3586 } | 
| 3581 | 3587 | 
| 3582 | 3588 | 
|  | 3589 Handle<Object> ExternalUint8ClampedArray::get( | 
|  | 3590     Handle<ExternalUint8ClampedArray> array, | 
|  | 3591     int index) { | 
|  | 3592   return handle(array->get(index), array->GetIsolate()); | 
|  | 3593 } | 
|  | 3594 | 
|  | 3595 | 
| 3583 void ExternalUint8ClampedArray::set(int index, uint8_t value) { | 3596 void ExternalUint8ClampedArray::set(int index, uint8_t value) { | 
| 3584   ASSERT((index >= 0) && (index < this->length())); | 3597   ASSERT((index >= 0) && (index < this->length())); | 
| 3585   uint8_t* ptr = external_uint8_clamped_pointer(); | 3598   uint8_t* ptr = external_uint8_clamped_pointer(); | 
| 3586   ptr[index] = value; | 3599   ptr[index] = value; | 
| 3587 } | 3600 } | 
| 3588 | 3601 | 
| 3589 | 3602 | 
| 3590 void* ExternalArray::external_pointer() { | 3603 void* ExternalArray::external_pointer() { | 
| 3591   intptr_t ptr = READ_INTPTR_FIELD(this, kExternalPointerOffset); | 3604   intptr_t ptr = READ_INTPTR_FIELD(this, kExternalPointerOffset); | 
| 3592   return reinterpret_cast<void*>(ptr); | 3605   return reinterpret_cast<void*>(ptr); | 
| 3593 } | 3606 } | 
| 3594 | 3607 | 
| 3595 | 3608 | 
| 3596 void ExternalArray::set_external_pointer(void* value, WriteBarrierMode mode) { | 3609 void ExternalArray::set_external_pointer(void* value, WriteBarrierMode mode) { | 
| 3597   intptr_t ptr = reinterpret_cast<intptr_t>(value); | 3610   intptr_t ptr = reinterpret_cast<intptr_t>(value); | 
| 3598   WRITE_INTPTR_FIELD(this, kExternalPointerOffset, ptr); | 3611   WRITE_INTPTR_FIELD(this, kExternalPointerOffset, ptr); | 
| 3599 } | 3612 } | 
| 3600 | 3613 | 
| 3601 | 3614 | 
| 3602 int8_t ExternalInt8Array::get_scalar(int index) { | 3615 int8_t ExternalInt8Array::get_scalar(int index) { | 
| 3603   ASSERT((index >= 0) && (index < this->length())); | 3616   ASSERT((index >= 0) && (index < this->length())); | 
| 3604   int8_t* ptr = static_cast<int8_t*>(external_pointer()); | 3617   int8_t* ptr = static_cast<int8_t*>(external_pointer()); | 
| 3605   return ptr[index]; | 3618   return ptr[index]; | 
| 3606 } | 3619 } | 
| 3607 | 3620 | 
| 3608 | 3621 | 
| 3609 MaybeObject* ExternalInt8Array::get(int index) { | 3622 Object* ExternalInt8Array::get(int index) { | 
| 3610   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 3623   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 
| 3611 } | 3624 } | 
| 3612 | 3625 | 
| 3613 | 3626 | 
|  | 3627 Handle<Object> ExternalInt8Array::get(Handle<ExternalInt8Array> array, | 
|  | 3628                                       int index) { | 
|  | 3629   return handle(array->get(index), array->GetIsolate()); | 
|  | 3630 } | 
|  | 3631 | 
|  | 3632 | 
| 3614 void ExternalInt8Array::set(int index, int8_t value) { | 3633 void ExternalInt8Array::set(int index, int8_t value) { | 
| 3615   ASSERT((index >= 0) && (index < this->length())); | 3634   ASSERT((index >= 0) && (index < this->length())); | 
| 3616   int8_t* ptr = static_cast<int8_t*>(external_pointer()); | 3635   int8_t* ptr = static_cast<int8_t*>(external_pointer()); | 
| 3617   ptr[index] = value; | 3636   ptr[index] = value; | 
| 3618 } | 3637 } | 
| 3619 | 3638 | 
| 3620 | 3639 | 
| 3621 uint8_t ExternalUint8Array::get_scalar(int index) { | 3640 uint8_t ExternalUint8Array::get_scalar(int index) { | 
| 3622   ASSERT((index >= 0) && (index < this->length())); | 3641   ASSERT((index >= 0) && (index < this->length())); | 
| 3623   uint8_t* ptr = static_cast<uint8_t*>(external_pointer()); | 3642   uint8_t* ptr = static_cast<uint8_t*>(external_pointer()); | 
| 3624   return ptr[index]; | 3643   return ptr[index]; | 
| 3625 } | 3644 } | 
| 3626 | 3645 | 
| 3627 | 3646 | 
| 3628 MaybeObject* ExternalUint8Array::get(int index) { | 3647 Object* ExternalUint8Array::get(int index) { | 
| 3629   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 3648   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 
| 3630 } | 3649 } | 
| 3631 | 3650 | 
| 3632 | 3651 | 
|  | 3652 Handle<Object> ExternalUint8Array::get(Handle<ExternalUint8Array> array, | 
|  | 3653                                        int index) { | 
|  | 3654   return handle(array->get(index), array->GetIsolate()); | 
|  | 3655 } | 
|  | 3656 | 
|  | 3657 | 
| 3633 void ExternalUint8Array::set(int index, uint8_t value) { | 3658 void ExternalUint8Array::set(int index, uint8_t value) { | 
| 3634   ASSERT((index >= 0) && (index < this->length())); | 3659   ASSERT((index >= 0) && (index < this->length())); | 
| 3635   uint8_t* ptr = static_cast<uint8_t*>(external_pointer()); | 3660   uint8_t* ptr = static_cast<uint8_t*>(external_pointer()); | 
| 3636   ptr[index] = value; | 3661   ptr[index] = value; | 
| 3637 } | 3662 } | 
| 3638 | 3663 | 
| 3639 | 3664 | 
| 3640 int16_t ExternalInt16Array::get_scalar(int index) { | 3665 int16_t ExternalInt16Array::get_scalar(int index) { | 
| 3641   ASSERT((index >= 0) && (index < this->length())); | 3666   ASSERT((index >= 0) && (index < this->length())); | 
| 3642   int16_t* ptr = static_cast<int16_t*>(external_pointer()); | 3667   int16_t* ptr = static_cast<int16_t*>(external_pointer()); | 
| 3643   return ptr[index]; | 3668   return ptr[index]; | 
| 3644 } | 3669 } | 
| 3645 | 3670 | 
| 3646 | 3671 | 
| 3647 MaybeObject* ExternalInt16Array::get(int index) { | 3672 Object* ExternalInt16Array::get(int index) { | 
| 3648   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 3673   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 
| 3649 } | 3674 } | 
| 3650 | 3675 | 
| 3651 | 3676 | 
|  | 3677 Handle<Object> ExternalInt16Array::get(Handle<ExternalInt16Array> array, | 
|  | 3678                                        int index) { | 
|  | 3679   return handle(array->get(index), array->GetIsolate()); | 
|  | 3680 } | 
|  | 3681 | 
|  | 3682 | 
| 3652 void ExternalInt16Array::set(int index, int16_t value) { | 3683 void ExternalInt16Array::set(int index, int16_t value) { | 
| 3653   ASSERT((index >= 0) && (index < this->length())); | 3684   ASSERT((index >= 0) && (index < this->length())); | 
| 3654   int16_t* ptr = static_cast<int16_t*>(external_pointer()); | 3685   int16_t* ptr = static_cast<int16_t*>(external_pointer()); | 
| 3655   ptr[index] = value; | 3686   ptr[index] = value; | 
| 3656 } | 3687 } | 
| 3657 | 3688 | 
| 3658 | 3689 | 
| 3659 uint16_t ExternalUint16Array::get_scalar(int index) { | 3690 uint16_t ExternalUint16Array::get_scalar(int index) { | 
| 3660   ASSERT((index >= 0) && (index < this->length())); | 3691   ASSERT((index >= 0) && (index < this->length())); | 
| 3661   uint16_t* ptr = static_cast<uint16_t*>(external_pointer()); | 3692   uint16_t* ptr = static_cast<uint16_t*>(external_pointer()); | 
| 3662   return ptr[index]; | 3693   return ptr[index]; | 
| 3663 } | 3694 } | 
| 3664 | 3695 | 
| 3665 | 3696 | 
| 3666 MaybeObject* ExternalUint16Array::get(int index) { | 3697 Object* ExternalUint16Array::get(int index) { | 
| 3667   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 3698   return Smi::FromInt(static_cast<int>(get_scalar(index))); | 
| 3668 } | 3699 } | 
| 3669 | 3700 | 
| 3670 | 3701 | 
|  | 3702 Handle<Object> ExternalUint16Array::get(Handle<ExternalUint16Array> array, | 
|  | 3703                                         int index) { | 
|  | 3704   return handle(array->get(index), array->GetIsolate()); | 
|  | 3705 } | 
|  | 3706 | 
|  | 3707 | 
| 3671 void ExternalUint16Array::set(int index, uint16_t value) { | 3708 void ExternalUint16Array::set(int index, uint16_t value) { | 
| 3672   ASSERT((index >= 0) && (index < this->length())); | 3709   ASSERT((index >= 0) && (index < this->length())); | 
| 3673   uint16_t* ptr = static_cast<uint16_t*>(external_pointer()); | 3710   uint16_t* ptr = static_cast<uint16_t*>(external_pointer()); | 
| 3674   ptr[index] = value; | 3711   ptr[index] = value; | 
| 3675 } | 3712 } | 
| 3676 | 3713 | 
| 3677 | 3714 | 
| 3678 int32_t ExternalInt32Array::get_scalar(int index) { | 3715 int32_t ExternalInt32Array::get_scalar(int index) { | 
| 3679   ASSERT((index >= 0) && (index < this->length())); | 3716   ASSERT((index >= 0) && (index < this->length())); | 
| 3680   int32_t* ptr = static_cast<int32_t*>(external_pointer()); | 3717   int32_t* ptr = static_cast<int32_t*>(external_pointer()); | 
| 3681   return ptr[index]; | 3718   return ptr[index]; | 
| 3682 } | 3719 } | 
| 3683 | 3720 | 
| 3684 | 3721 | 
| 3685 MaybeObject* ExternalInt32Array::get(int index) { | 3722 MaybeObject* ExternalInt32Array::get(int index) { | 
| 3686     return GetHeap()->NumberFromInt32(get_scalar(index)); | 3723   return GetHeap()->NumberFromInt32(get_scalar(index)); | 
| 3687 } | 3724 } | 
| 3688 | 3725 | 
| 3689 | 3726 | 
|  | 3727 Handle<Object> ExternalInt32Array::get(Handle<ExternalInt32Array> array, | 
|  | 3728                                        int index) { | 
|  | 3729   return array->GetIsolate()->factory()-> | 
|  | 3730       NewNumberFromInt(array->get_scalar(index)); | 
|  | 3731 } | 
|  | 3732 | 
|  | 3733 | 
| 3690 void ExternalInt32Array::set(int index, int32_t value) { | 3734 void ExternalInt32Array::set(int index, int32_t value) { | 
| 3691   ASSERT((index >= 0) && (index < this->length())); | 3735   ASSERT((index >= 0) && (index < this->length())); | 
| 3692   int32_t* ptr = static_cast<int32_t*>(external_pointer()); | 3736   int32_t* ptr = static_cast<int32_t*>(external_pointer()); | 
| 3693   ptr[index] = value; | 3737   ptr[index] = value; | 
| 3694 } | 3738 } | 
| 3695 | 3739 | 
| 3696 | 3740 | 
| 3697 uint32_t ExternalUint32Array::get_scalar(int index) { | 3741 uint32_t ExternalUint32Array::get_scalar(int index) { | 
| 3698   ASSERT((index >= 0) && (index < this->length())); | 3742   ASSERT((index >= 0) && (index < this->length())); | 
| 3699   uint32_t* ptr = static_cast<uint32_t*>(external_pointer()); | 3743   uint32_t* ptr = static_cast<uint32_t*>(external_pointer()); | 
| 3700   return ptr[index]; | 3744   return ptr[index]; | 
| 3701 } | 3745 } | 
| 3702 | 3746 | 
| 3703 | 3747 | 
| 3704 MaybeObject* ExternalUint32Array::get(int index) { | 3748 MaybeObject* ExternalUint32Array::get(int index) { | 
| 3705     return GetHeap()->NumberFromUint32(get_scalar(index)); | 3749   return GetHeap()->NumberFromUint32(get_scalar(index)); | 
| 3706 } | 3750 } | 
| 3707 | 3751 | 
| 3708 | 3752 | 
|  | 3753 Handle<Object> ExternalUint32Array::get(Handle<ExternalUint32Array> array, | 
|  | 3754                                         int index) { | 
|  | 3755   return array->GetIsolate()->factory()-> | 
|  | 3756       NewNumberFromUint(array->get_scalar(index)); | 
|  | 3757 } | 
|  | 3758 | 
|  | 3759 | 
| 3709 void ExternalUint32Array::set(int index, uint32_t value) { | 3760 void ExternalUint32Array::set(int index, uint32_t value) { | 
| 3710   ASSERT((index >= 0) && (index < this->length())); | 3761   ASSERT((index >= 0) && (index < this->length())); | 
| 3711   uint32_t* ptr = static_cast<uint32_t*>(external_pointer()); | 3762   uint32_t* ptr = static_cast<uint32_t*>(external_pointer()); | 
| 3712   ptr[index] = value; | 3763   ptr[index] = value; | 
| 3713 } | 3764 } | 
| 3714 | 3765 | 
| 3715 | 3766 | 
| 3716 float ExternalFloat32Array::get_scalar(int index) { | 3767 float ExternalFloat32Array::get_scalar(int index) { | 
| 3717   ASSERT((index >= 0) && (index < this->length())); | 3768   ASSERT((index >= 0) && (index < this->length())); | 
| 3718   float* ptr = static_cast<float*>(external_pointer()); | 3769   float* ptr = static_cast<float*>(external_pointer()); | 
| 3719   return ptr[index]; | 3770   return ptr[index]; | 
| 3720 } | 3771 } | 
| 3721 | 3772 | 
| 3722 | 3773 | 
| 3723 MaybeObject* ExternalFloat32Array::get(int index) { | 3774 MaybeObject* ExternalFloat32Array::get(int index) { | 
| 3724     return GetHeap()->NumberFromDouble(get_scalar(index)); | 3775   return GetHeap()->NumberFromDouble(get_scalar(index)); | 
| 3725 } | 3776 } | 
| 3726 | 3777 | 
| 3727 | 3778 | 
|  | 3779 Handle<Object> ExternalFloat32Array::get(Handle<ExternalFloat32Array> array, | 
|  | 3780                                          int index) { | 
|  | 3781   return array->GetIsolate()->factory()->NewNumber(array->get_scalar(index)); | 
|  | 3782 } | 
|  | 3783 | 
|  | 3784 | 
| 3728 void ExternalFloat32Array::set(int index, float value) { | 3785 void ExternalFloat32Array::set(int index, float value) { | 
| 3729   ASSERT((index >= 0) && (index < this->length())); | 3786   ASSERT((index >= 0) && (index < this->length())); | 
| 3730   float* ptr = static_cast<float*>(external_pointer()); | 3787   float* ptr = static_cast<float*>(external_pointer()); | 
| 3731   ptr[index] = value; | 3788   ptr[index] = value; | 
| 3732 } | 3789 } | 
| 3733 | 3790 | 
| 3734 | 3791 | 
| 3735 double ExternalFloat64Array::get_scalar(int index) { | 3792 double ExternalFloat64Array::get_scalar(int index) { | 
| 3736   ASSERT((index >= 0) && (index < this->length())); | 3793   ASSERT((index >= 0) && (index < this->length())); | 
| 3737   double* ptr = static_cast<double*>(external_pointer()); | 3794   double* ptr = static_cast<double*>(external_pointer()); | 
| 3738   return ptr[index]; | 3795   return ptr[index]; | 
| 3739 } | 3796 } | 
| 3740 | 3797 | 
| 3741 | 3798 | 
| 3742 MaybeObject* ExternalFloat64Array::get(int index) { | 3799 MaybeObject* ExternalFloat64Array::get(int index) { | 
| 3743     return GetHeap()->NumberFromDouble(get_scalar(index)); | 3800     return GetHeap()->NumberFromDouble(get_scalar(index)); | 
| 3744 } | 3801 } | 
| 3745 | 3802 | 
| 3746 | 3803 | 
|  | 3804 Handle<Object> ExternalFloat64Array::get(Handle<ExternalFloat64Array> array, | 
|  | 3805                                          int index) { | 
|  | 3806   return array->GetIsolate()->factory()->NewNumber(array->get_scalar(index)); | 
|  | 3807 } | 
|  | 3808 | 
|  | 3809 | 
| 3747 void ExternalFloat64Array::set(int index, double value) { | 3810 void ExternalFloat64Array::set(int index, double value) { | 
| 3748   ASSERT((index >= 0) && (index < this->length())); | 3811   ASSERT((index >= 0) && (index < this->length())); | 
| 3749   double* ptr = static_cast<double*>(external_pointer()); | 3812   double* ptr = static_cast<double*>(external_pointer()); | 
| 3750   ptr[index] = value; | 3813   ptr[index] = value; | 
| 3751 } | 3814 } | 
| 3752 | 3815 | 
| 3753 | 3816 | 
| 3754 void* FixedTypedArrayBase::DataPtr() { | 3817 void* FixedTypedArrayBase::DataPtr() { | 
| 3755   return FIELD_ADDR(this, kDataOffset); | 3818   return FIELD_ADDR(this, kDataOffset); | 
| 3756 } | 3819 } | 
| (...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 3883   return value; | 3946   return value; | 
| 3884 } | 3947 } | 
| 3885 | 3948 | 
| 3886 | 3949 | 
| 3887 template <class Traits> | 3950 template <class Traits> | 
| 3888 MaybeObject* FixedTypedArray<Traits>::get(int index) { | 3951 MaybeObject* FixedTypedArray<Traits>::get(int index) { | 
| 3889   return Traits::ToObject(GetHeap(), get_scalar(index)); | 3952   return Traits::ToObject(GetHeap(), get_scalar(index)); | 
| 3890 } | 3953 } | 
| 3891 | 3954 | 
| 3892 template <class Traits> | 3955 template <class Traits> | 
|  | 3956 Handle<Object> FixedTypedArray<Traits>::get( | 
|  | 3957     Handle<FixedTypedArray<Traits> > array, | 
|  | 3958     int index) { | 
|  | 3959   return Traits::ToHandle(array->GetIsolate(), array->get_scalar(index)); | 
|  | 3960 } | 
|  | 3961 | 
|  | 3962 template <class Traits> | 
| 3893 MaybeObject* FixedTypedArray<Traits>::SetValue(uint32_t index, Object* value) { | 3963 MaybeObject* FixedTypedArray<Traits>::SetValue(uint32_t index, Object* value) { | 
| 3894   ElementType cast_value = Traits::defaultValue(); | 3964   ElementType cast_value = Traits::defaultValue(); | 
| 3895   if (index < static_cast<uint32_t>(length())) { | 3965   if (index < static_cast<uint32_t>(length())) { | 
| 3896     if (value->IsSmi()) { | 3966     if (value->IsSmi()) { | 
| 3897       int int_value = Smi::cast(value)->value(); | 3967       int int_value = Smi::cast(value)->value(); | 
| 3898       cast_value = from_int(int_value); | 3968       cast_value = from_int(int_value); | 
| 3899     } else if (value->IsHeapNumber()) { | 3969     } else if (value->IsHeapNumber()) { | 
| 3900       double double_value = HeapNumber::cast(value)->value(); | 3970       double double_value = HeapNumber::cast(value)->value(); | 
| 3901       cast_value = from_double(double_value); | 3971       cast_value = from_double(double_value); | 
| 3902     } else { | 3972     } else { | 
| (...skipping 15 matching lines...) Expand all  Loading... | 
| 3918                      array->SetValue(index, *value), | 3988                      array->SetValue(index, *value), | 
| 3919                      Object); | 3989                      Object); | 
| 3920 } | 3990 } | 
| 3921 | 3991 | 
| 3922 | 3992 | 
| 3923 MaybeObject* Uint8ArrayTraits::ToObject(Heap*, uint8_t scalar) { | 3993 MaybeObject* Uint8ArrayTraits::ToObject(Heap*, uint8_t scalar) { | 
| 3924   return Smi::FromInt(scalar); | 3994   return Smi::FromInt(scalar); | 
| 3925 } | 3995 } | 
| 3926 | 3996 | 
| 3927 | 3997 | 
|  | 3998 Handle<Object> Uint8ArrayTraits::ToHandle(Isolate* isolate, uint8_t scalar) { | 
|  | 3999   return handle(Smi::FromInt(scalar), isolate); | 
|  | 4000 } | 
|  | 4001 | 
|  | 4002 | 
| 3928 MaybeObject* Uint8ClampedArrayTraits::ToObject(Heap*, uint8_t scalar) { | 4003 MaybeObject* Uint8ClampedArrayTraits::ToObject(Heap*, uint8_t scalar) { | 
| 3929   return Smi::FromInt(scalar); | 4004   return Smi::FromInt(scalar); | 
| 3930 } | 4005 } | 
| 3931 | 4006 | 
| 3932 | 4007 | 
|  | 4008 Handle<Object> Uint8ClampedArrayTraits::ToHandle(Isolate* isolate, | 
|  | 4009                                                  uint8_t scalar) { | 
|  | 4010   return handle(Smi::FromInt(scalar), isolate); | 
|  | 4011 } | 
|  | 4012 | 
|  | 4013 | 
| 3933 MaybeObject* Int8ArrayTraits::ToObject(Heap*, int8_t scalar) { | 4014 MaybeObject* Int8ArrayTraits::ToObject(Heap*, int8_t scalar) { | 
| 3934   return Smi::FromInt(scalar); | 4015   return Smi::FromInt(scalar); | 
| 3935 } | 4016 } | 
| 3936 | 4017 | 
| 3937 | 4018 | 
|  | 4019 Handle<Object> Int8ArrayTraits::ToHandle(Isolate* isolate, int8_t scalar) { | 
|  | 4020   return handle(Smi::FromInt(scalar), isolate); | 
|  | 4021 } | 
|  | 4022 | 
|  | 4023 | 
| 3938 MaybeObject* Uint16ArrayTraits::ToObject(Heap*, uint16_t scalar) { | 4024 MaybeObject* Uint16ArrayTraits::ToObject(Heap*, uint16_t scalar) { | 
| 3939   return Smi::FromInt(scalar); | 4025   return Smi::FromInt(scalar); | 
| 3940 } | 4026 } | 
| 3941 | 4027 | 
| 3942 | 4028 | 
|  | 4029 Handle<Object> Uint16ArrayTraits::ToHandle(Isolate* isolate, uint16_t scalar) { | 
|  | 4030   return handle(Smi::FromInt(scalar), isolate); | 
|  | 4031 } | 
|  | 4032 | 
|  | 4033 | 
| 3943 MaybeObject* Int16ArrayTraits::ToObject(Heap*, int16_t scalar) { | 4034 MaybeObject* Int16ArrayTraits::ToObject(Heap*, int16_t scalar) { | 
| 3944   return Smi::FromInt(scalar); | 4035   return Smi::FromInt(scalar); | 
| 3945 } | 4036 } | 
| 3946 | 4037 | 
| 3947 | 4038 | 
|  | 4039 Handle<Object> Int16ArrayTraits::ToHandle(Isolate* isolate, int16_t scalar) { | 
|  | 4040   return handle(Smi::FromInt(scalar), isolate); | 
|  | 4041 } | 
|  | 4042 | 
|  | 4043 | 
| 3948 MaybeObject* Uint32ArrayTraits::ToObject(Heap* heap, uint32_t scalar) { | 4044 MaybeObject* Uint32ArrayTraits::ToObject(Heap* heap, uint32_t scalar) { | 
| 3949   return heap->NumberFromUint32(scalar); | 4045   return heap->NumberFromUint32(scalar); | 
| 3950 } | 4046 } | 
| 3951 | 4047 | 
| 3952 | 4048 | 
|  | 4049 Handle<Object> Uint32ArrayTraits::ToHandle(Isolate* isolate, uint32_t scalar) { | 
|  | 4050   return isolate->factory()->NewNumberFromUint(scalar); | 
|  | 4051 } | 
|  | 4052 | 
|  | 4053 | 
| 3953 MaybeObject* Int32ArrayTraits::ToObject(Heap* heap, int32_t scalar) { | 4054 MaybeObject* Int32ArrayTraits::ToObject(Heap* heap, int32_t scalar) { | 
| 3954   return heap->NumberFromInt32(scalar); | 4055   return heap->NumberFromInt32(scalar); | 
| 3955 } | 4056 } | 
| 3956 | 4057 | 
| 3957 | 4058 | 
|  | 4059 Handle<Object> Int32ArrayTraits::ToHandle(Isolate* isolate, int32_t scalar) { | 
|  | 4060   return isolate->factory()->NewNumberFromInt(scalar); | 
|  | 4061 } | 
|  | 4062 | 
|  | 4063 | 
| 3958 MaybeObject* Float32ArrayTraits::ToObject(Heap* heap, float scalar) { | 4064 MaybeObject* Float32ArrayTraits::ToObject(Heap* heap, float scalar) { | 
| 3959   return heap->NumberFromDouble(scalar); | 4065   return heap->NumberFromDouble(scalar); | 
| 3960 } | 4066 } | 
| 3961 | 4067 | 
| 3962 | 4068 | 
|  | 4069 Handle<Object> Float32ArrayTraits::ToHandle(Isolate* isolate, float scalar) { | 
|  | 4070   return isolate->factory()->NewNumber(scalar); | 
|  | 4071 } | 
|  | 4072 | 
|  | 4073 | 
| 3963 MaybeObject* Float64ArrayTraits::ToObject(Heap* heap, double scalar) { | 4074 MaybeObject* Float64ArrayTraits::ToObject(Heap* heap, double scalar) { | 
| 3964   return heap->NumberFromDouble(scalar); | 4075   return heap->NumberFromDouble(scalar); | 
| 3965 } | 4076 } | 
| 3966 | 4077 | 
| 3967 | 4078 | 
|  | 4079 Handle<Object> Float64ArrayTraits::ToHandle(Isolate* isolate, double scalar) { | 
|  | 4080   return isolate->factory()->NewNumber(scalar); | 
|  | 4081 } | 
|  | 4082 | 
|  | 4083 | 
| 3968 int Map::visitor_id() { | 4084 int Map::visitor_id() { | 
| 3969   return READ_BYTE_FIELD(this, kVisitorIdOffset); | 4085   return READ_BYTE_FIELD(this, kVisitorIdOffset); | 
| 3970 } | 4086 } | 
| 3971 | 4087 | 
| 3972 | 4088 | 
| 3973 void Map::set_visitor_id(int id) { | 4089 void Map::set_visitor_id(int id) { | 
| 3974   ASSERT(0 <= id && id < 256); | 4090   ASSERT(0 <= id && id < 256); | 
| 3975   WRITE_BYTE_FIELD(this, kVisitorIdOffset, static_cast<byte>(id)); | 4091   WRITE_BYTE_FIELD(this, kVisitorIdOffset, static_cast<byte>(id)); | 
| 3976 } | 4092 } | 
| 3977 | 4093 | 
| (...skipping 2946 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
| 6924 #undef READ_UINT32_FIELD | 7040 #undef READ_UINT32_FIELD | 
| 6925 #undef WRITE_UINT32_FIELD | 7041 #undef WRITE_UINT32_FIELD | 
| 6926 #undef READ_SHORT_FIELD | 7042 #undef READ_SHORT_FIELD | 
| 6927 #undef WRITE_SHORT_FIELD | 7043 #undef WRITE_SHORT_FIELD | 
| 6928 #undef READ_BYTE_FIELD | 7044 #undef READ_BYTE_FIELD | 
| 6929 #undef WRITE_BYTE_FIELD | 7045 #undef WRITE_BYTE_FIELD | 
| 6930 | 7046 | 
| 6931 } }  // namespace v8::internal | 7047 } }  // namespace v8::internal | 
| 6932 | 7048 | 
| 6933 #endif  // V8_OBJECTS_INL_H_ | 7049 #endif  // V8_OBJECTS_INL_H_ | 
| OLD | NEW | 
|---|