summaryrefslogtreecommitdiff
path: root/core
AgeCommit message (Collapse)Author
2019-06-20Fix silent failure of WebAssembly.instantiate() (#2548)Ryan Dahl
By making WASM compilation synchronous. We'll have to do more work to make it properly async.
2019-06-19Combine CLI Errors (#2487)Kitson Kelly
2019-06-18Add dyn to be rust nightly compatible (#2538)Kitson Kelly
2019-06-17refactor dispatch take 2 (#2533)andy finch
2019-06-15v0.9.0Ryan Dahl
2019-06-15third_party: upgrade rust cratesBert Belder
2019-06-14Revert "Refactor dispatch handling (#2452)"Ryan Dahl
Due to performance regression: https://github.com/denoland/deno/commit/dc60fe9f300043f191286ef804a365e16e455f87#commitcomment-33943711 This reverts commit dc60fe9f300043f191286ef804a365e16e455f87.
2019-06-13Refactor dispatch handling (#2452)andy finch
Promise id is now created in core and passed back to JS.
2019-06-12Move ModuleSpecifier to //core (#2509)Bartek Iwańczuk
2019-06-12Remove Config struct from core (#2502)Ryan Dahl
It's unnecessary indirection and is preventing the ability to easily pass isolate references into the dispatch and dyn_import closures. Note: this changes how StartupData::Script is executed. It's no longer done during Isolate::new() but rather lazily on first poll or execution.
2019-06-11Revert "Work around Windows-only V8 concurrent initialization crash"Bert Belder
This fix is no longer necessary as the underlying V8 bug has been fixed upstream. This reverts commit 48bcfce09e11901244447617be2eb7789427eab0.
2019-06-10Upgrade V8 to 7.7.37 (#2492)Ryan Dahl
2019-06-10Expose dynamic import in core (#2472)Ryan Dahl
2019-06-09feat: Import maps (#2360)Bartek Iwańczuk
2019-06-08v0.8.0Ryan Dahl
2019-06-06Deno.core.evalContext & Deno.core.print fix (#2465)Michał Sabiniarz
2019-06-06libdeno: expose dynamic import (#2461)Ryan Dahl
2019-06-05RecursiveLoad shouldn't own the Isolate (#2453)Ryan Dahl
This patch makes it so that RecursiveLoad doesn't own the Isolate, so Worker::execute_mod_async does not consume itself. Previously Worker implemented Loader, but now ThreadSafeState does. This is necessary preparation work for dynamic import (#1789) and import maps (#1921)
2019-05-30third_party: upgrade rust cratesBert Belder
2019-05-29v0.7.0Ryan Dahl
2019-05-29TS compiler refactorRyan Dahl
* Compiler no longer has its own Tokio runtime. Compiler handles one message and then exits. * Uses the simpler ts.CompilerHost interface instead of ts.LanguageServiceHost. * avoids recompiling the same module by introducing a hacky but simple `hashset<string>` that stores the module names that have been already compiled. * Removes the CompilerConfig op. * Removes a lot of the mocking stuff in compiler.ts like `this._ts`. It is not useful as we don't even have tests. * Turns off checkJs because it causes fmt_test to die with OOM.
2019-05-20v0.6.0Ryan Dahl
2019-05-20Adjust core/README.md textRyan Dahl
2019-05-16build: add support for rust proc-macro cratesBert Belder
2019-05-11v0.5.0Ryan Dahl
2019-05-11Typo (#2337)Nikola Ristic
2019-05-11third_party: upgrade rust cratesBert Belder
2019-05-11core: make PinnedBuf::Raw -> PinnedBuf conversion actually a moveBert Belder
2019-05-09core: Privatize ModuleNameMap SymbolicModule deno_buf (#2324)Bartek Iwańczuk
2019-05-03v0.4.0Ryan Dahl
2019-05-03v0.3.11Ryan Dahl
2019-05-03core,cli: fix clippy warningsBert Belder
2019-05-02Work around Windows-only V8 concurrent initialization crashBert Belder
This patch provides a work-around for an apparent V8 bug where initializing multiple isolates concurrently leads to a crash on Windows. At the time of writing the cause of this crash is not exactly understood, but it seems to be related to the V8 internal function win64_unwindinfo::RegisterNonABICompliantCodeRange(), which didn't exist in older versions of V8.
2019-05-02core: remove support for moving deno_buf ownership from C++ to JavaScriptBert Belder
The functionality hasn't been in use for a long time. Without this feature, the `alloc_ptr` and `alloc_len` fields are no longer necessary.
2019-05-01core: express op as enum (#2255)Ryan Dahl
2019-05-01Refactor zero-copy buffers for performance and to prevent memory leaksBert Belder
* In order to prevent ArrayBuffers from getting garbage collected by V8, we used to store a v8::Persistent<ArrayBuffer> in a map. This patch introduces a custom ArrayBuffer allocator which doesn't use Persistent handles, but instead stores a pointer to the actual ArrayBuffer data alongside with a reference count. Since creating Persistent handles has quite a bit of overhead, this change significantly increases performance. Various HTTP server benchmarks report about 5-10% more requests per second than before. * Previously the Persistent handle that prevented garbage collection had to be released manually, and this wasn't always done, which was causing memory leaks. This has been resolved by introducing a new `PinnedBuf` type in both Rust and C++ that automatically re-enables garbage collection when it goes out of scope. * Zero-copy buffers are now correctly wrapped in an Option if there is a possibility that they're not present. This clears up a correctness issue where we were creating zero-length slices from a null pointer, which is against the rules.
2019-05-01core: remove unused function StrBufNullAllocPtr()Bert Belder
2019-05-01Rename test targets (#2262)Bartek Iwańczuk
2019-04-27core: add Deps::to_json() (#2223)Greg Altman
2019-04-25v0.3.10Ryan Dahl
2019-04-25v0.3.9Ryan Dahl
2019-04-24core: Add test for snapshotting from Rust (#2197)Ryan Dahl
2019-04-23core: make Isolate concrete, remove Dispatch trait (#2183)Ryan Dahl
Op dispatch is now dynamically dispatched, so slightly less efficient. The immeasurable perf hit is a reasonable trade for the API simplicity that is gained here.
2019-04-21Fixes #2033, shared queue push bug (#2158)Ryan Dahl
2019-04-21Refactor CLI entry point (#2157)Bartek Iwańczuk
Changes "deno --types" to "deno types" and "deno --prefetch" to "deno prefetch"
2019-04-21Fix link to http_bench example in core README (#2167)Matt Harrison
2019-04-19v0.3.8Ryan Dahl
2019-04-19core: test Modules::deps and handle error cases better (#2141)Ryan Dahl
2019-04-19Improve test slow_never_ready_modules (#2145)Ryan Dahl
2019-04-18Fix redirects under async load (#2133)Kevin (Kun) "Kassimo" Qian