| 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/signature.h" | 5 #include "src/signature.h" |
| 6 | 6 |
| 7 #include "src/handles.h" | 7 #include "src/handles.h" |
| 8 #include "src/objects-inl.h" | 8 #include "src/objects-inl.h" |
| 9 #include "src/v8.h" | 9 #include "src/v8.h" |
| 10 #include "src/zone/zone-containers.h" | 10 #include "src/zone/zone-containers.h" |
| (...skipping 349 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 360 FixupSection(buffer, start); | 360 FixupSection(buffer, start); |
| 361 } | 361 } |
| 362 | 362 |
| 363 // == Emit function signatures =============================================== | 363 // == Emit function signatures =============================================== |
| 364 bool has_names = false; | 364 bool has_names = false; |
| 365 if (functions_.size() > 0) { | 365 if (functions_.size() > 0) { |
| 366 size_t start = EmitSection(kFunctionSectionCode, buffer); | 366 size_t start = EmitSection(kFunctionSectionCode, buffer); |
| 367 buffer.write_size(functions_.size()); | 367 buffer.write_size(functions_.size()); |
| 368 for (auto function : functions_) { | 368 for (auto function : functions_) { |
| 369 function->WriteSignature(buffer); | 369 function->WriteSignature(buffer); |
| 370 exports += function->exported_names_.size(); | 370 exports += static_cast<uint32_t>(function->exported_names_.size()); |
| 371 if (function->name_.size() > 0) has_names = true; | 371 if (function->name_.size() > 0) has_names = true; |
| 372 } | 372 } |
| 373 FixupSection(buffer, start); | 373 FixupSection(buffer, start); |
| 374 } | 374 } |
| 375 | 375 |
| 376 // == emit function table ==================================================== | 376 // == emit function table ==================================================== |
| 377 if (indirect_functions_.size() > 0) { | 377 if (indirect_functions_.size() > 0) { |
| 378 size_t start = EmitSection(kTableSectionCode, buffer); | 378 size_t start = EmitSection(kTableSectionCode, buffer); |
| 379 buffer.write_u8(1); // table count | 379 buffer.write_u8(1); // table count |
| 380 buffer.write_u8(kWasmAnyFunctionTypeForm); | 380 buffer.write_u8(kWasmAnyFunctionTypeForm); |
| (...skipping 176 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 557 // Emit the offset table per function. | 557 // Emit the offset table per function. |
| 558 for (auto function : functions_) { | 558 for (auto function : functions_) { |
| 559 function->WriteAsmWasmOffsetTable(buffer); | 559 function->WriteAsmWasmOffsetTable(buffer); |
| 560 } | 560 } |
| 561 // Append a 0 to indicate that this is an encoded table. | 561 // Append a 0 to indicate that this is an encoded table. |
| 562 buffer.write_u8(0); | 562 buffer.write_u8(0); |
| 563 } | 563 } |
| 564 } // namespace wasm | 564 } // namespace wasm |
| 565 } // namespace internal | 565 } // namespace internal |
| 566 } // namespace v8 | 566 } // namespace v8 |
| OLD | NEW |