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 #include "src/api-natives.h" | 5 #include "src/api-natives.h" |
6 #include "src/api.h" | 6 #include "src/api.h" |
7 #include "src/asmjs/asm-js.h" | 7 #include "src/asmjs/asm-js.h" |
8 #include "src/asmjs/asm-typer.h" | 8 #include "src/asmjs/asm-typer.h" |
9 #include "src/asmjs/asm-wasm-builder.h" | 9 #include "src/asmjs/asm-wasm-builder.h" |
10 #include "src/assert-scope.h" | 10 #include "src/assert-scope.h" |
(...skipping 591 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
602 max_size64 = i::FLAG_wasm_max_table_size; | 602 max_size64 = i::FLAG_wasm_max_table_size; |
603 } | 603 } |
604 | 604 |
605 if (new_size64 < old_size || new_size64 > max_size64) { | 605 if (new_size64 < old_size || new_size64 > max_size64) { |
606 thrower.RangeError(new_size64 < old_size ? "trying to shrink table" | 606 thrower.RangeError(new_size64 < old_size ? "trying to shrink table" |
607 : "maximum table size exceeded"); | 607 : "maximum table size exceeded"); |
608 return; | 608 return; |
609 } | 609 } |
610 | 610 |
611 int new_size = static_cast<int>(new_size64); | 611 int new_size = static_cast<int>(new_size64); |
612 i::WasmTableObject::Grow(i_isolate, receiver, | 612 receiver->grow(i_isolate, static_cast<uint32_t>(new_size - old_size)); |
613 static_cast<uint32_t>(new_size - old_size)); | |
614 | 613 |
615 if (new_size != old_size) { | 614 if (new_size != old_size) { |
616 i::Handle<i::FixedArray> new_array = | 615 i::Handle<i::FixedArray> new_array = |
617 i_isolate->factory()->NewFixedArray(new_size); | 616 i_isolate->factory()->NewFixedArray(new_size); |
618 for (int i = 0; i < old_size; ++i) new_array->set(i, old_array->get(i)); | 617 for (int i = 0; i < old_size; ++i) new_array->set(i, old_array->get(i)); |
619 i::Object* null = i_isolate->heap()->null_value(); | 618 i::Object* null = i_isolate->heap()->null_value(); |
620 for (int i = old_size; i < new_size; ++i) new_array->set(i, null); | 619 for (int i = old_size; i < new_size; ++i) new_array->set(i, null); |
621 receiver->set_functions(*new_array); | 620 receiver->set_functions(*new_array); |
622 } | 621 } |
623 | 622 |
(...skipping 346 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
970 i::Handle<i::Symbol> symbol(isolate->context()->wasm_memory_sym(), isolate); | 969 i::Handle<i::Symbol> symbol(isolate->context()->wasm_memory_sym(), isolate); |
971 return HasBrand(value, symbol); | 970 return HasBrand(value, symbol); |
972 } | 971 } |
973 | 972 |
974 bool WasmJs::IsWasmTableObject(Isolate* isolate, Handle<Object> value) { | 973 bool WasmJs::IsWasmTableObject(Isolate* isolate, Handle<Object> value) { |
975 i::Handle<i::Symbol> symbol(isolate->context()->wasm_table_sym(), isolate); | 974 i::Handle<i::Symbol> symbol(isolate->context()->wasm_table_sym(), isolate); |
976 return HasBrand(value, symbol); | 975 return HasBrand(value, symbol); |
977 } | 976 } |
978 } // namespace internal | 977 } // namespace internal |
979 } // namespace v8 | 978 } // namespace v8 |
OLD | NEW |