| 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 1564 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1575 public: | 1575 public: |
| 1576 virtual void* Allocate(size_t length) { | 1576 virtual void* Allocate(size_t length) { |
| 1577 void* data = AllocateUninitialized(length); | 1577 void* data = AllocateUninitialized(length); |
| 1578 return data == NULL ? data : memset(data, 0, length); | 1578 return data == NULL ? data : memset(data, 0, length); |
| 1579 } | 1579 } |
| 1580 virtual void* AllocateUninitialized(size_t length) { return malloc(length); } | 1580 virtual void* AllocateUninitialized(size_t length) { return malloc(length); } |
| 1581 virtual void Free(void* data, size_t) { free(data); } | 1581 virtual void Free(void* data, size_t) { free(data); } |
| 1582 }; | 1582 }; |
| 1583 | 1583 |
| 1584 | 1584 |
| 1585 class ShellSharedArrayBufferAllocator |
| 1586 : public v8::SharedArrayBuffer::Allocator { |
| 1587 public: |
| 1588 virtual void* Allocate(size_t length) { |
| 1589 void* data = AllocateUninitialized(length); |
| 1590 return data == NULL ? data : memset(data, 0, length); |
| 1591 } |
| 1592 virtual void* AllocateUninitialized(size_t length) { return malloc(length); } |
| 1593 virtual void Free(void* data, size_t) { free(data); } |
| 1594 }; |
| 1595 |
| 1596 |
| 1585 class MockArrayBufferAllocator : public v8::ArrayBuffer::Allocator { | 1597 class MockArrayBufferAllocator : public v8::ArrayBuffer::Allocator { |
| 1586 public: | 1598 public: |
| 1587 void* Allocate(size_t) OVERRIDE { return malloc(1); } | 1599 void* Allocate(size_t) OVERRIDE { return malloc(1); } |
| 1588 void* AllocateUninitialized(size_t length) OVERRIDE { return malloc(1); } | 1600 void* AllocateUninitialized(size_t length) OVERRIDE { return malloc(1); } |
| 1589 void Free(void* p, size_t) OVERRIDE { free(p); } | 1601 void Free(void* p, size_t) OVERRIDE { free(p); } |
| 1590 }; | 1602 }; |
| 1591 | 1603 |
| 1592 | 1604 |
| 1605 class MockSharedArrayBufferAllocator : public v8::SharedArrayBuffer::Allocator { |
| 1606 public: |
| 1607 void* Allocate(size_t) OVERRIDE { return malloc(1); } |
| 1608 void* AllocateUninitialized(size_t length) OVERRIDE { return malloc(1); } |
| 1609 void Free(void* p, size_t) OVERRIDE { free(p); } |
| 1610 }; |
| 1611 |
| 1612 |
| 1593 int Shell::Main(int argc, char* argv[]) { | 1613 int Shell::Main(int argc, char* argv[]) { |
| 1594 #if (defined(_WIN32) || defined(_WIN64)) | 1614 #if (defined(_WIN32) || defined(_WIN64)) |
| 1595 UINT new_flags = | 1615 UINT new_flags = |
| 1596 SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX; | 1616 SEM_FAILCRITICALERRORS | SEM_NOGPFAULTERRORBOX | SEM_NOOPENFILEERRORBOX; |
| 1597 UINT existing_flags = SetErrorMode(new_flags); | 1617 UINT existing_flags = SetErrorMode(new_flags); |
| 1598 SetErrorMode(existing_flags | new_flags); | 1618 SetErrorMode(existing_flags | new_flags); |
| 1599 #if defined(_MSC_VER) | 1619 #if defined(_MSC_VER) |
| 1600 _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); | 1620 _CrtSetReportMode(_CRT_WARN, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); |
| 1601 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); | 1621 _CrtSetReportFile(_CRT_WARN, _CRTDBG_FILE_STDERR); |
| 1602 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); | 1622 _CrtSetReportMode(_CRT_ASSERT, _CRTDBG_MODE_DEBUG | _CRTDBG_MODE_FILE); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1613 v8::V8::Initialize(); | 1633 v8::V8::Initialize(); |
| 1614 #ifdef V8_USE_EXTERNAL_STARTUP_DATA | 1634 #ifdef V8_USE_EXTERNAL_STARTUP_DATA |
| 1615 v8::StartupDataHandler startup_data(argv[0], options.natives_blob, | 1635 v8::StartupDataHandler startup_data(argv[0], options.natives_blob, |
| 1616 options.snapshot_blob); | 1636 options.snapshot_blob); |
| 1617 #endif | 1637 #endif |
| 1618 SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg"); | 1638 SetFlagsFromString("--trace-hydrogen-file=hydrogen.cfg"); |
| 1619 SetFlagsFromString("--trace-turbo-cfg-file=turbo.cfg"); | 1639 SetFlagsFromString("--trace-turbo-cfg-file=turbo.cfg"); |
| 1620 SetFlagsFromString("--redirect-code-traces-to=code.asm"); | 1640 SetFlagsFromString("--redirect-code-traces-to=code.asm"); |
| 1621 ShellArrayBufferAllocator array_buffer_allocator; | 1641 ShellArrayBufferAllocator array_buffer_allocator; |
| 1622 MockArrayBufferAllocator mock_arraybuffer_allocator; | 1642 MockArrayBufferAllocator mock_arraybuffer_allocator; |
| 1643 ShellSharedArrayBufferAllocator shared_array_buffer_allocator; |
| 1644 MockSharedArrayBufferAllocator mock_shared_arraybuffer_allocator; |
| 1623 if (options.mock_arraybuffer_allocator) { | 1645 if (options.mock_arraybuffer_allocator) { |
| 1624 v8::V8::SetArrayBufferAllocator(&mock_arraybuffer_allocator); | 1646 v8::V8::SetArrayBufferAllocator(&mock_arraybuffer_allocator); |
| 1647 v8::V8::SetSharedArrayBufferAllocator(&mock_shared_arraybuffer_allocator); |
| 1625 } else { | 1648 } else { |
| 1626 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator); | 1649 v8::V8::SetArrayBufferAllocator(&array_buffer_allocator); |
| 1650 v8::V8::SetSharedArrayBufferAllocator(&shared_array_buffer_allocator); |
| 1627 } | 1651 } |
| 1628 int result = 0; | 1652 int result = 0; |
| 1629 Isolate::CreateParams create_params; | 1653 Isolate::CreateParams create_params; |
| 1630 #if !defined(V8_SHARED) && defined(ENABLE_GDB_JIT_INTERFACE) | 1654 #if !defined(V8_SHARED) && defined(ENABLE_GDB_JIT_INTERFACE) |
| 1631 if (i::FLAG_gdbjit) { | 1655 if (i::FLAG_gdbjit) { |
| 1632 create_params.code_event_handler = i::GDBJITInterface::EventHandler; | 1656 create_params.code_event_handler = i::GDBJITInterface::EventHandler; |
| 1633 } | 1657 } |
| 1634 #endif | 1658 #endif |
| 1635 #ifdef ENABLE_VTUNE_JIT_INTERFACE | 1659 #ifdef ENABLE_VTUNE_JIT_INTERFACE |
| 1636 create_params.code_event_handler = vTune::GetVtuneCodeEventHandler(); | 1660 create_params.code_event_handler = vTune::GetVtuneCodeEventHandler(); |
| (...skipping 81 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1718 } | 1742 } |
| 1719 | 1743 |
| 1720 } // namespace v8 | 1744 } // namespace v8 |
| 1721 | 1745 |
| 1722 | 1746 |
| 1723 #ifndef GOOGLE3 | 1747 #ifndef GOOGLE3 |
| 1724 int main(int argc, char* argv[]) { | 1748 int main(int argc, char* argv[]) { |
| 1725 return v8::Shell::Main(argc, argv); | 1749 return v8::Shell::Main(argc, argv); |
| 1726 } | 1750 } |
| 1727 #endif | 1751 #endif |
| OLD | NEW |