summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2018-12-07Add benchmark for net/http (#1289)Bartek Iwańczuk
2018-12-07Don't crash when .mime file not exist in cache (#1291)Kevin (Kun) "Kassimo" Qian
2018-12-06Process source maps in Rust instead of JS (#1280)Ryan Dahl
- Improves speed and binary size significantly. - Makes deno_last_exception() output a JSON structure. - Isolate::execute and Isolate::event_loop now return structured, mapped JSError objects on errors. - Removes libdeno functions: libdeno.setGlobalErrorHandler() libdeno.setPromiseRejectHandler() libdeno.setPromiseErrorExaminer() In collaboration with Ryan Dahl.
2018-12-06Add ASCII support to TextDecoderKitson Kelly
2018-12-06Use alternate TextEncoder/TextDecoder implementation (#1281)Kitson Kelly
This is faster and smaller.
2018-12-05Isolate::from_raw_ptr and other cleanups.F001
`Isolate::from_void_ptr` is renamed to `from_raw_ptr`, to keep consistency with std libs. It is changed to `unsafe` function, because it can't guarantee that the input is valid. This guarantee should be provided by the caller. Its return type is changed to `&Isolate`, because `&mut Isolate` type requires that no other aliases co-exist in this period of time, this does not seem true. So I changed most of the methods to accept shared reference `&Isolate`. It is easier to reason about the correctness of `unsafe` blocks. As long as these shared references are in the same thread, these `unsafe` codes are probably correct.
2018-12-04Upgrade flatbuffers to 80d148Ryan Dahl
2018-12-04Add deno_config struct for isolate creation. (#1277)Ryan Dahl
In preperation for adding other callbacks to libdeno.
2018-12-04Remove static lifetime bound in OpCreator (#1276)F001
The main purpose of this PR is to remove the `'static` lifetime bound in type OpCreator = fn(state: &Arc<IsolateState>, base: &msg::Base, data: &'static mut [u8]) -> Box<Op>; The reason is simple: it is plain wrong, the `data` is actually not `'static`. It is created when the message is sent from C side, and will be recycled when the message is responded. It violates the definition of `'static` lifetime. If someone save this pointer somewhere else, and reuse it later again, uninitialized memory could be accessed. This kind of memory unsafety does not happen yet because the logic is carefully organized in this project. Lifetime constraints are maintained by code convention. It could be more robust if we can express this constraint by Rust's type system. Basic idea: tie buffer's lifetime to an object's lifetime, a.k.a, RAII. The type `deno_buf` is pretty suitable for this job.
2018-12-03Remove leaks from snapshot_creatorRyan Dahl
2018-12-03Avoid memory leak (#1265)F001
2018-12-03Turn off kPromiseResolvedAfterResolved warningKevin (Kun) "Kassimo" Qian
2018-12-03Add LSAN build to travis.Ryan Dahl
For now it only runs test_cc and has to filter out a test which leaks. However we will expand this over time until the entire build is LSAN clean.
2018-12-03Fix test_cc memory leaks.Ryan Dahl
These were discovered using the LSAN. http://dev.chromium.org/developers/testing/leaksanitizer
2018-12-03gn snapshot template's target_name should be targetRyan Dahl
2018-12-03Use include_bytes! instead of incbin.Ryan Dahl
This is the second attempt at this patch. The first version was reverted in 2ffd78daf9956a24098d1f959f21882e350e9d37 The problem, I suspect, was that the snapshot was represented as a source_set, which inserted a node into the dependency tree. include_bytes does properly insert the snapshot into rustc's depfile but the use of source_set confused gn. Now the that the deno executable has the create_deno_snapshot as a direct dependency, changes will be propagated.
2018-12-03third_party: symlink //third_party/v8/build => //buildBert Belder
2018-12-03.gitattributes: add symlink target typesBert Belder
This is a first step toward removing the fix_symlinks() hack from tools/third_party.py.
2018-12-03.gitattributes: not all files are textBert Belder
2018-11-30feat: Support for bigints in consolekyraNET
2018-11-30doc: Remove TS and V8 versions from README file (#1258)Kyra
2018-11-30Cargo and GN should build into same directory.Ryan Dahl
Currently gn builds into "target/debug" however cargo tells gn to build into "target/debug/build/deno-26d2b5325de0f0cf/out" This patch changes it so that they both build into "target/debug".
2018-11-30v0.2.1Ryan Dahl
- Allow async functions in REPL (#1233) - Handle Location header relative URI (#1240) - Add deno.readAll() (#1234) - Add Process.output (#1235) - Upgrade to TypeScript 3.2.1 - Upgrade crates: tokio 0.1.13, hyper 0.12.16, ring 0.13.5
2018-11-30Upgrade Prettier to support BigInt syntax in TSRyan Dahl
2018-11-30Upgrade Rust cratesRyan Dahl
2018-11-30travis: test rust version before rustupRyan Dahl
2018-11-30Use pylint.Ryan Dahl
2018-11-30Add Process.output (#1235)DanSnow
2018-11-30Add deno.readAll() (#1234)DanSnow
2018-11-30Fix flaky REPL test.Ryan Dahl
2018-11-30clippy fixes (#1250)Andy Hayden
2018-11-29Upgrade to TypeScript 3.2Kitson Kelly
2018-11-29Add prebuilt/win/v8_debug.lib (#1249)Ryan Dahl
The windows debug build was broken due to libc link errors.
2018-11-29Make //build a git submoduleRyan Dahl
So we can float patches before sending them upstream. https://github.com/denoland/chromium_build Remove build_extra/toolchain
2018-11-29Replace mutex by atomics (#1238)F001
2018-11-29Handle Location header relative URI (#1240)Kevin (Kun) "Kassimo" Qian
2018-11-29Move libdeno build config to libdeno/BUILD.gnRyan Dahl
2018-11-29Fix mac debug build.Ryan Dahl
2018-11-29Cleanup setTimeout repl test and alphabetize testsAndy Hayden
2018-11-28REPL unblock event loop AND fix REPL setTimeout fire problemsKevin (Kun) "Kassimo" Qian
2018-11-27Use prebuilt V8 library by default.Ryan Dahl
This still retains the ability to build V8 from scratch, with an number of configurations. The prebuilt binaries were created using DENO_BUILD_MODE=release ./tools/build.py v8
2018-11-27gitignore vim .swp filesRyan Dahl
2018-11-27Don't use use_custom_libcxx=false on travis.Ryan Dahl
2018-11-27add test for Buffer edge caseBartek Iwańczuk
2018-11-27Add update to changelog (#1227)Ryan Dahl
2018-11-27Don't use snapshot for src/isolate.rs tests.Ryan Dahl
2018-11-27Disable flaky fetch tests.Ryan Dahl
2018-11-26Typo fixes in Docs.mdThomas Beirne
Just fixing a couple minor typos - formates -> formats - configuation -> configuration
2018-11-23Revert "Use include_bytes! instead of incbin. (#1182)"Ryan Dahl
Reverting because this is causing Appveyor to be red. However I hope we can reintroduce include_bytes! soon in a way that works on windows. Fixes #1208. This reverts commits 96c3641fffe8509af9351cec4580861e76d89cc9 and 92e404706b0b1a26cdaf6f8cf81aac148292557f.
2018-11-20Split Runner from CompilerKitson Kelly