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
Bert Belder
ad4c4c214a
Rename Deno.data to Deno.user_data
...
Also use the correct rust type for it.
2018-10-08 18:10:28 +02:00
Ryan Dahl
f998f7b9af
Fix unused variable warning in release mode.
2018-10-06 20:24:47 -04:00