Age | Commit message (Collapse) | Author |
|
|
|
`ZeroCopyBuf` was convenient to use, but sometimes it did hide details
that some copies were necessary in certain cases. Also it made it way to easy
for the caller to pass around and convert into different values. This commit
splits `ZeroCopyBuf` into `JsBuffer` (an array buffer coming from V8) and
`ToJsBuffer` (a Rust buffer that will be converted into a V8 array buffer).
As a result some magical conversions were removed (they were never used)
limiting the API surface and preparing for changes in #19534.
|
|
|
|
In case you would consider including specific implementations and not
only build fixes, here's the implementation of the ```rss()``` function
for OpenBSD.
|
|
JsRuntimeForSnapshot (#19353)
Addresses
https://github.com/denoland/deno/pull/19308#discussion_r1212248194.
Removes force_op_registration as it is no longer necessary.
|
|
|
|
|
|
Fixes #15217.
|
|
This is the initial support for npm and node specifiers in `deno
compile`. The npm packages are included in the binary and read from it via
a virtual file system. This also supports the `--node-modules-dir` flag,
dependencies specified in a package.json, and npm binary commands (ex.
`deno compile --unstable npm:cowsay`)
Closes #16632
|
|
1. Boxed `File` and `FileSystem` to allow more easily passing this
through the CLI code (as shown within this pr).
2. `StdFileResource` is now `FileResource`. `FileResource` now contains
an `Rc<dyn File>`.
|
|
This removes the tty stuff that's hanging on the file resources and
instead stores them in a separate `TtyModeStore`. Although this will
cause the tty store items to not be removed when the resource is
removed, I think this is ok to do because there will be a small number
of resources this is every done with and usually those resources won't
ever be closed.
|
|
|
|
This is very apparent on Windows.
Before: 45.74ms (Hello world)
After: 33.92ms
Closes #18939
|
|
This commit changes how "disabled" ops behave. Instead of using "void"
functions under the hood, they now explicitly throw errors saying
that a given op doesn't exist.
|
|
With https://github.com/denoland/deno/pull/18568 landed we no longer
need "ext/flash".
This commit removes "deno_flash" extension completely.
This should have some impact on the binary and snapshot size.
Closes https://github.com/denoland/deno/issues/17356
|
|
Relanding 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4
|
|
This reverts commit 4b6305f4f25fc76f974bbdcc9cdb139d5ab8f5f4.
|
|
This commit changes the build process in a way that preserves already
registered ops in the snapshot. This allows us to skip creating hundreds of
"v8::String" on each startup, but sadly there is still some op registration
going on startup (however we're registering 49 ops instead of >200 ops).
This situation could be further improved, by moving some of the ops
from "runtime/" to a separate extension crates.
---------
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
|
|
Follow-up to #18210:
* we are passing the generated `cfg` object into the state function
rather than passing individual config fields
* reduce cloning dramatically by making the state_fn `FnOnce`
* `take` for `ExtensionBuilder` to avoid more unnecessary copies
* renamed `config` to `options`
|
|
(#18210)
This implements two macros to simplify extension registration and centralize a lot of the boilerplate as a base for future improvements:
* `deno_core::ops!` registers a block of `#[op]`s, optionally with type
parameters, useful for places where we share lists of ops
* `deno_core::extension!` is used to register an extension, and creates
two methods that can be used at runtime/snapshot generation time:
`init_ops` and `init_ops_and_esm`.
---------
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
|
|
raw mode (#17983)
|
|
There's no point for this API to expect result. If something fails it should
result in a panic during build time to signal to embedder that setup is
wrong.
|
|
This commit factors out APIs related to file system from "runtime/"
to a separate "deno_fs" extension crate.
|
|
This is to allow making assertions on stdout and stderr separately.
|
|
This commit merges "runtime/js/40_spawn.js" into
"runtime/js/40_process.js", and "runtime::ops::spawn"
into "runtime::ops::process".
It makes little sense to have them separated given that we want to
factor out these APIs into a separate extension crate.
|
|
This is a prerequisite to factor out FS ops to a separate crate.
|
|
This utility is useful in several contexts so it seems reasonable to
have it in `deno_core`.
|
|
This will help us with moving fs ops to a separate extension crate.
|
|
Reland https://github.com/denoland/deno/pull/16777
The codegen is disabled in async ops and when fallback to slow call is
possible (return type is a Result) to avoid hitting this V8 bug:
https://github.com/denoland/deno/issues/17159
|
|
|
|
|
|
This commit stabilizes "Deno.osUptime()" API. The "--unstable" flag is
no longer required to use this API.
|
|
This commit stabilizes "Deno.Command" API with all its related APIs.
"--unstable" flag is no longer required to use this API.
|
|
Fixes https://github.com/denoland/deno/issues/17734
|
|
(#15466) (#17591)
This reverts commit 3545bff678f20c3fdf17fe6b26f96cf1b74f917c.
|
|
Co-authored-by: Bartek Iwańczuk <biwanczuk@gmail.com>
|
|
|
|
Fixes https://github.com/denoland/deno/issues/17417
According to
https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/ns-sysinfoapi-memorystatusex
, `stat.ullTotalPageFile` value is reliable only from
GetPerformanceInfo()
Also see https://github.com/GuillaumeGomez/sysinfo/issues/534
Co-authored-by: Nightly <dhairysrivastava5@gmail.com>
|
|
Closes https://github.com/denoland/deno/issues/2699
Closes https://github.com/denoland/deno/issues/2347
Uses unstable rustfmt features. Since dprint invokes `rustfmt` we do not
need to switch the cargo toolchain to nightly. Do we care about
formatting stability of our codebase across Rust versions? (I don't)
|
|
Co-authored-by: Divy Srivastava <dj.srivastava23@gmail.com>
|
|
Fixes https://github.com/denoland/deno/issues/16921
|
|
|
|
|
|
mutability (#17134)
Turns out we were cloning permissions which after prompting were discarded,
so the state of permissions was never preserved. To handle that we need to store
all permissions behind "Arc<Mutex<>>" (because there are situations where we
need to send them to other thread).
Testing and benching code still uses "Permissions" in most places - it's undesirable
to share the same permission set between various test/bench files - otherwise
granting or revoking permissions in one file would influence behavior of other test
files.
|
|
|
|
|
|
|
|
Yearly tradition of creating extra noise in git.
|
|
|