| 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 | 5 |
| 6 // Defined when linking against shared lib on Windows. | 6 // Defined when linking against shared lib on Windows. |
| 7 #if defined(USING_V8_SHARED) && !defined(V8_SHARED) | 7 #if defined(USING_V8_SHARED) && !defined(V8_SHARED) |
| 8 #define V8_SHARED | 8 #define V8_SHARED |
| 9 #endif | 9 #endif |
| 10 | 10 |
| (...skipping 1575 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1586 public: | 1586 public: |
| 1587 virtual void* Allocate(size_t length) { | 1587 virtual void* Allocate(size_t length) { |
| 1588 void* data = AllocateUninitialized(length); | 1588 void* data = AllocateUninitialized(length); |
| 1589 return data == NULL ? data : memset(data, 0, length); | 1589 return data == NULL ? data : memset(data, 0, length); |
| 1590 } | 1590 } |
| 1591 virtual void* AllocateUninitialized(size_t length) { return malloc(length); } | 1591 virtual void* AllocateUninitialized(size_t length) { return malloc(length); } |
| 1592 virtual void Free(void* data, size_t) { free(data); } | 1592 virtual void Free(void* data, size_t) { free(data); } |
| 1593 }; | 1593 }; |
| 1594 | 1594 |
| 1595 | 1595 |
| 1596 class ShellSharedArrayBufferAllocator |
| 1597 : public v8::SharedArrayBuffer::Allocator { |
| 1598 public: |
| 1599 virtual void* Allocate(size_t length) { |
| 1600 void* data = AllocateUninitialized(length); |
| 1601 return data == NULL ? data : memset(data, 0, length); |
| 1602 } |
| 1603 virtual void* AllocateUninitialized(size_t length) { return malloc(length); } |
| 1604 virtual void Free(void* data, size_t) { free(data); } |
| 1605 }; |
| 1606 |
| 1607 |
| 1596 class MockArrayBufferAllocator : public v8::ArrayBuffer::Allocator { | 1608 class MockArrayBufferAllocator : public v8::ArrayBuffer::Allocator { |
| 1597 public: | 1609 public: |
| 1598 void* Allocate(size_t) override { return malloc(1); } | 1610 void* Allocate(size_t) override { return malloc(1); } |
| 1599 void* AllocateUninitialized(size_t length) override { return malloc(1); } | 1611 void* AllocateUninitialized(size_t length) override { return malloc(1); } |
| 1600 void Free(void* p, size_t) override { free(p); } | 1612 void Free(void* p, size_t) override { free(p); } |
| 1601 }; | 1613 }; |
| 1602 | 1614 |
| 1603 | 1615 |
| 1616 class MockSharedArrayBufferAllocator : public v8::SharedArrayBuffer::Allocator { |
| 1617 public: |
| 1618 void* Allocate(size_t) override { return malloc(1); } |
| 1619 void* AllocateUninitialized(size_t length) override { return malloc(1); } |
| 1620 void Free(void* p, size_t) override { free(p); } |
| 1621 }; |
| 1622 |
| 1623 |
| 1604 int Shell::Main(int argc, char* argv[]) { | 1624 int Shell::Main(int argc, char* argv[]) { |
| 1605 #if (defined(_WIN32) || defined(_WIN64)) | 1625 #if (defined(_WIN32) || defined(_WIN64)) |
| 1606 UINT new_flags = | 1626 UINT new_flags = |
| 1607 SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX; | 1627 SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX; |
| 1608 UINT existing_flags = SetErrorMode(new_flags); | 1628 UINT existing_flags = SetErrorMode(new_flags); |
| 1609 SetErrorMode(existing_flags | new_flags); | 1629 SetErrorMode(existing_flags | new_flags); |
| 1610 #if defined(_MSC_VER) | 1630 #if defined(_MSC_VER) |
| 1611 _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); | 1631 _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); |
| 1612 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); | 1632 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); |
| 1613 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); | 1633 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1624 v8::V8::Initialize(); | 1644 v8::V8::Initialize(); |
| 1625 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | 1645 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |
| 1626 v8::StartupDataHandler startup_data(argv[0], options.natives_blob, | 1646 v8::StartupDataHandler startup_data(argv[0], options.natives_blob, |
| 1627 options.snapshot_blob); | 1647 options.snapshot_blob); |
| 1628 #endif | 1648 #endif |
| 1629 SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg"); | 1649 SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg"); |
| 1630 SetFlagsFromString("--trace-turbo-cfg-file=turbo.cfg"); | 1650 SetFlagsFromString("--trace-turbo-cfg-file=turbo.cfg"); |
| 1631 SetFlagsFromString("--redirect-code-traces-to=code.asm"); | 1651 SetFlagsFromString("--redirect-code-traces-to=code.asm"); |
| 1632 ShellArrayBufferAllocator array_buffer_allocator; | 1652 ShellArrayBufferAllocator array_buffer_allocator; |
| 1633 MockArrayBufferAllocator mock_arraybuffer_allocator; | 1653 MockArrayBufferAllocator mock_arraybuffer_allocator; |
| 1654 ShellSharedArrayBufferAllocator shared_array_buffer_allocator; |
| 1655 MockSharedArrayBufferAllocator mock_shared_arraybuffer_allocator; |
| 1634 if (options.mock_arraybuffer_allocator) { | 1656 if (options.mock_arraybuffer_allocator) { |
| 1635 v8::V8::SetArrayBufferAllocator(&mock_arraybuffer_allocator); | 1657 v8::V8::SetArrayBufferAllocator(&mock_arraybuffer_allocator); |
| 1658 v8::V8::SetSharedArrayBufferAllocator(&mock_shared_arraybuffer_allocator); |
| 1636 } else { | 1659 } else { |
| 1637 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator); | 1660 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator); |
| 1661 v8::V8::SetSharedArrayBufferAllocator(&shared_array_buffer_allocator); |
| 1638 } | 1662 } |
| 1639 int result = 0; | 1663 int result = 0; |
| 1640 Isolate::CreateParams create_params; | 1664 Isolate::CreateParams create_params; |
| 1641 #if !defined(V8_SHARED) && defined(ENABLE_GDB_JIT_INTERFACE) | 1665 #if !defined(V8_SHARED) && defined(ENABLE_GDB_JIT_INTERFACE) |
| 1642 if (i::FLAG_gdbjit) { | 1666 if (i::FLAG_gdbjit) { |
| 1643 create_params.code_event_handler = i::GDBJITInterface::EventHandler; | 1667 create_params.code_event_handler = i::GDBJITInterface::EventHandler; |
| 1644 } | 1668 } |
| 1645 #endif | 1669 #endif |
| 1646 #ifdef ENABLE_VTUNE_JIT_INTERFACE | 1670 #ifdef ENABLE_VTUNE_JIT_INTERFACE |
| 1647 create_params.code_event_handler = vTune::GetVtuneCodeEventHandler(); | 1671 create_params.code_event_handler = vTune::GetVtuneCodeEventHandler(); |
| (...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1728 } | 1752 } |
| 1729 | 1753 |
| 1730 } // namespace v8 | 1754 } // namespace v8 |
| 1731 | 1755 |
| 1732 | 1756 |
| 1733 #ifndef GOOGLE3 | 1757 #ifndef GOOGLE3 |
| 1734 int main(int argc, char* argv[]) { | 1758 int main(int argc, char* argv[]) { |
| 1735 return v8::Shell::Main(argc, argv); | 1759 return v8::Shell::Main(argc, argv); |
| 1736 } | 1760 } |
| 1737 #endif | 1761 #endif |
| OLD | NEW |