1
0
Fork 0
mirror of https://github.com/denoland/deno.git synced 2024-12-01 16:51:13 -05:00
Commit graph

66 commits

Author SHA1 Message Date
Ryan Dahl
df54db7762 Fix v8_str internalize bug 2019-02-02 16:46:31 -05:00
Ryan Dahl
1770a77bca Clean up return value of deno_execute
and deno_respond
2019-02-02 16:46:31 -05:00
Ryan Dahl
00597ffde1
Refactor libdeno ES module interface. (#1624)
Allows for future asynchronous module loading.

Add support for import.meta.url

Fixes #1496
2019-01-30 17:21:31 -05:00
Ryan Dahl
06c0e29118 Fix cpplint 2019-01-30 15:53:23 -05:00
Ryan Dahl
13582ff3f2 libdeno: improve exception handling 2019-01-30 15:53:23 -05:00
JaePil Jung
dc09c3a65d Minor code cleanups (#1613) 2019-01-29 10:37:27 -05:00
Kitson Kelly
ee9c627cc5 Split out compiler snapshot (#1566)
Speeds up startup time, reduces runtime heap size.
2019-01-28 20:41:28 -05:00
JaePil Jung
7f88b5fff3 Minor code cleanups (#1570) 2019-01-24 10:54:43 -05:00
Yoshiya Hinosawa
77114fbda4 chore: update license lines (#1557) 2019-01-21 13:03:30 -06:00
Kevin (Kun) "Kassimo" Qian
f9b167deb0 Avoid crashes on ES module resolution when module not found (#1546) 2019-01-18 15:15:09 -05:00
Kevin (Kun) "Kassimo" Qian
c870cf4082 Add --prefetch flag for deps prefetch without running (#1475) 2019-01-15 12:19:58 -05:00
Ryan Dahl
8fdc1251cd libdeno: pipe more exception information thru 2019-01-11 21:44:26 -05:00
Kevin (Kun) "Kassimo" Qian
d835c84ba9 Prevent segfault when eval throws an error (#1411) 2019-01-09 15:56:42 -05:00
Kevin (Kun) "Kassimo" Qian
2558d6e184 Use multimap with Persistent module handle to avoid IdentityHash collision (#1466) 2019-01-07 21:18:32 -05:00
Yoshiya Hinosawa
cae71ed841 Implement console.groupCollapsed (#1452)
This implementation of groupCollapsed is intentionally different
from the spec defined by whatwg. See the conversation in #1355
and #1363.
2019-01-06 16:34:52 -05:00
Ryan Dahl
1b7938e3aa
Add libdeno.builtinModules (#1463)
This is needed to support builtin modules like

    import { open } from "deno"
2019-01-06 16:32:21 -05:00
Ryan Dahl
bba0ed3185 Add ESM support to libdeno
Introduces deno_execute_mod() for executing ES modules.
2019-01-03 09:45:40 -05:00
Ryan Dahl
cbb18a596a Properly internalize V8 strings. 2019-01-03 09:45:40 -05:00
Kevin (Kun) "Kassimo" Qian
76de81358e Add -glldb to clang flags for libdeno (#1446) 2019-01-02 21:05:47 -05:00
迷渡
ef840f9e06 print string with NULL '\0' (#1428) 2018-12-30 20:58:23 +01:00
Ryan Dahl
9909e8a759
Upgrade V8 to 7.2.502.16 (#1403) 2018-12-23 17:08:08 -05:00
Ryan Dahl
218735c7cc libdeno: Remove unused members of DenoIsolate 2018-12-23 14:43:15 -05:00
Bert Belder
9e70b0d109
build: fix mac linking problem 2018-12-20 02:23:48 +01:00
Bert Belder
c531b0c27f
build: fold config("win_crt_agnostic") into config("deno_config") 2018-12-20 02:23:48 +01:00
Bert Belder
73e80b0763
build: make cargo build work 2018-12-19 17:50:25 +01:00
Bert Belder
b40326875c Remove prebuilt v8 support 2018-12-18 15:15:08 -05:00
Ryan Dahl
1e54f1d473
Remove from test_cc SnapshotterInitializesCorrectly (#1361)
Unfortunately V8 has a debug-only assert that checks
that a SnapshotCreator actually created a snapshot:
7d8c9aa769/v8/src/api.cc (L571)

This was not being triggered in Linux & Mac debug builds
because we were using the prebuilt release V8 build.
It was being triggered in Windows debug build because there is
a prebuilt v8_debug.lib. However the Windows error went unnoticed
because we only run release builds in CI.
2018-12-17 20:05:18 -05:00
Ryan Dahl
f986eb25c5
Merge deno_new_snapshotter behavior into deno_new (#1318) 2018-12-13 16:25:42 -05:00
Ryan Dahl
f230734623 build: snapshot doesn't need source_map
Continuation of the work done in c113df.
2018-12-11 15:06:21 -05:00
Ryan Dahl
c113df1bb8
Process source maps in Rust instead of JS (#1280)
- 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-06 23:05:36 -05:00
Ryan Dahl
d70b04c6d7
Add deno_config struct for isolate creation. (#1277)
In preperation for adding other callbacks to libdeno.
2018-12-04 15:06:20 -08:00
Ryan Dahl
0bec0fa594 Remove leaks from snapshot_creator 2018-12-03 19:34:01 -08:00
Ryan Dahl
f25220b2cf Fix test_cc memory leaks.
These were discovered using the LSAN.
http://dev.chromium.org/developers/testing/leaksanitizer
2018-12-03 15:31:06 -08:00
Ryan Dahl
b39f4c146e gn snapshot template's target_name should be target 2018-12-03 13:44:21 -08:00
Ryan Dahl
cc126528f0
Add prebuilt/win/v8_debug.lib (#1249)
The windows debug build was broken due to libc link errors.
2018-11-29 23:25:59 -08:00
Ryan Dahl
84a1b4d793 Move libdeno build config to libdeno/BUILD.gn 2018-11-29 17:46:09 -08:00
Ryan Dahl
570269b73d Don't use snapshot for src/isolate.rs tests. 2018-11-27 11:33:23 -08:00
Ryan Dahl
b3400d822f Decode main.js.map during snapshotting.
Pro:
time ./out/debug/deno tests/error_001.ts  3.0s -> 0.4s

Con:
time ./tool/build.py snapshot              33s -> 1m52s
out/debug/gen/snapshot_deno.bin            39M -> 121M
2018-11-05 13:26:54 -08:00
Bert Belder
b73b651612
build: remove absolute path 2018-11-01 13:34:16 +01:00
Ryan Dahl
0501330607 Add libdeno.shared global shared ArrayBuffer. 2018-10-24 14:52:38 -07:00
Ryan Dahl
61cda72881 libdeno: Expose snapshot creation. 2018-10-24 14:52:38 -07:00
Ryan Dahl
6afe94b3c8 libdeno: clean up
- Use a proper class for DenoIsolate.
- Move extern C stuff to api.cc
2018-10-24 14:52:38 -07:00
Ryan Dahl
fd68f85ce8 libdeno: deno_new should take a snapshot parameter. 2018-10-24 14:52:38 -07:00
Ryan Dahl
3438dbe350 Remove deno_ns 2018-10-24 14:52:38 -07:00
Bert Belder
142e532910
libdeno: store v8::Persistent in map by value instead of by reference 2018-10-19 02:35:49 +02:00
Ryan Dahl
d534ea41ad Optimization: Use std::map for tracking zero-copy buffers
Instead of V8 map.
2018-10-18 17:49:03 -04:00
Ryan Dahl
4d669c63f4 Reduce ArrayBuffer allocations in ImportBuf() 2018-10-17 16:02:00 -04:00
Kevin (Kun) "Kassimo" Qian
45d3b8955d Fix promise reject issue (#936) 2018-10-12 14:22:52 -04:00
Bert Belder
4f3250bc43
Remove deno_get_data()
Instead, pass the isolate data to the dispatch callback directly.
2018-10-08 18:19:36 +02:00
Bert Belder
e742af10aa
Abide by the rules when passing Isolate between c and rust
Ensure that at most one mutable Isolate reference exists at a time.

`deno_execute()` and `deno_respond()` now borrow a reference to the rust-side
isolate from the caller. When we need a reference to the isolate while one of
these functions is on the stack, `deno_get_data()` can be used to borrow back
that reference.
2018-10-08 18:19:32 +02:00