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 6104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
6115 void v8::ArrayBuffer::Neuter() { | 6115 void v8::ArrayBuffer::Neuter() { |
6116 i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this); | 6116 i::Handle<i::JSArrayBuffer> obj = Utils::OpenHandle(this); |
6117 i::Isolate* isolate = obj->GetIsolate(); | 6117 i::Isolate* isolate = obj->GetIsolate(); |
6118 ApiCheck(obj->is_external(), | 6118 ApiCheck(obj->is_external(), |
6119 "v8::ArrayBuffer::Neuter", | 6119 "v8::ArrayBuffer::Neuter", |
6120 "Only externalized ArrayBuffers can be neutered"); | 6120 "Only externalized ArrayBuffers can be neutered"); |
6121 LOG_API(obj->GetIsolate(), "v8::ArrayBuffer::Neuter()"); | 6121 LOG_API(obj->GetIsolate(), "v8::ArrayBuffer::Neuter()"); |
6122 ENTER_V8(isolate); | 6122 ENTER_V8(isolate); |
6123 | 6123 |
6124 for (i::Handle<i::Object> array_obj(obj->weak_first_array(), isolate); | 6124 for (i::Handle<i::Object> array_obj(obj->weak_first_array(), isolate); |
6125 *array_obj != i::Smi::FromInt(0);) { | 6125 !array_obj->IsUndefined();) { |
6126 i::Handle<i::JSTypedArray> typed_array(i::JSTypedArray::cast(*array_obj)); | 6126 i::Handle<i::JSTypedArray> typed_array(i::JSTypedArray::cast(*array_obj)); |
6127 typed_array->Neuter(); | 6127 typed_array->Neuter(); |
6128 array_obj = i::handle(typed_array->weak_next(), isolate); | 6128 array_obj = i::handle(typed_array->weak_next(), isolate); |
6129 } | 6129 } |
6130 obj->Neuter(); | 6130 obj->Neuter(); |
6131 } | 6131 } |
6132 | 6132 |
6133 | 6133 |
6134 size_t v8::ArrayBuffer::ByteLength() const { | 6134 size_t v8::ArrayBuffer::ByteLength() const { |
6135 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); | 6135 i::Isolate* isolate = Utils::OpenHandle(this)->GetIsolate(); |
(...skipping 1820 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
7956 | 7956 |
7957 v->VisitPointers(blocks_.first(), first_block_limit_); | 7957 v->VisitPointers(blocks_.first(), first_block_limit_); |
7958 | 7958 |
7959 for (int i = 1; i < blocks_.length(); i++) { | 7959 for (int i = 1; i < blocks_.length(); i++) { |
7960 v->VisitPointers(blocks_[i], &blocks_[i][kHandleBlockSize]); | 7960 v->VisitPointers(blocks_[i], &blocks_[i][kHandleBlockSize]); |
7961 } | 7961 } |
7962 } | 7962 } |
7963 | 7963 |
7964 | 7964 |
7965 } } // namespace v8::internal | 7965 } } // namespace v8::internal |
OLD | NEW |