Brian Gianforcaro
1498dcd9e1
DynamicLoader: Use string view literal to remove a allocation on startup
...
The ""sv operator switches a const char* to String conversion into
just a StringView literal.
2021-07-02 10:51:20 +04:30
Ali Mohammad Pur
b538e15548
LibWasm: Give traps a reason and display it when needed
...
This makes debugging wasm code a bit easier, as we now know what fails
instead of just "too bad, something went wrong".
2021-07-02 04:53:01 +04:30
Ali Mohammad Pur
62ca81fdcc
LibJS: Implement the %TypedArray%.set() function
2021-07-02 04:53:01 +04:30
Ali Mohammad Pur
321db0159e
LibWeb: Add the WebAssembly.Module constructor
2021-07-02 04:53:01 +04:30
Ali Mohammad Pur
8acc8339d1
LibWeb: Add the WebAssembly.Instance constructor
2021-07-02 04:53:01 +04:30
Ali Mohammad Pur
de4cbc8f08
LibWeb: Use the correct name to refer to WebAssembly.Memory.prototype
...
Otherwise `instanceof` wouldn't return the correct result.
2021-07-02 04:53:01 +04:30
Ali Mohammad Pur
bfb3d9e9d0
LibWeb: Split the WebAssemblyInstance object logic into multiple files
...
Now that we're adding a constructor to it, let's split it up like the
rest of LibWeb does.
2021-07-02 04:53:01 +04:30
Andreas Kling
a4897ed7b2
LibJS: Throw on failed PutValue into an environment reference
...
This should really be handled at a different layer of the stack, but
this allows us to make progress on the Object rewrite without breaking
strict mode assignment tests.
2021-07-02 00:32:23 +02:00
Andreas Kling
80170887db
LibJS: Make Environment::put_into_environment() return a success bool
...
This code is non-conforming and will eventually get cleaned out once
we implement proper variable bindings. However, this will aid us in
improving other parts of the code right now.
2021-07-02 00:26:31 +02:00
Andreas Kling
57db058652
LibJS: Make ResolveBinding() produce strict References in strict mode
2021-07-02 00:25:52 +02:00
Gunnar Beutner
db334b50d0
Kernel: Don't byteswap the ISR number on interrupt entry
...
Let's just add the padding before we jump to interrupt_common_asm_entry.
2021-07-01 23:36:17 +02:00
Brian Gianforcaro
59ba316ac6
AK: Annotate more AK::Span methods as nodiscard
2021-07-01 22:44:06 +02:00
Brian Gianforcaro
60efe18a31
Kernel: Handle OOM when allocating Thread FPUState
...
Move FPUState allocation to Thread::try_create so that allocation
failure can be observed properly by the caller.
2021-07-01 22:43:48 +02:00
Idan Horowitz
4fb962a0b9
CI: Add x86_64 on target tests
2021-07-01 22:42:54 +02:00
Timothy Flynn
1bbf3f1d09
LibWeb: Do not encode "internal_id" in DOM JSON
...
This is now unused.
2021-07-01 19:19:46 +02:00
Timothy Flynn
447ecc2155
LibWeb: Maintain a map of child-to-parent nodes in OOPWV DOM Inspector
...
Currently, each time parent_index() is invoked, two depth-first searches
are incurred to find the node's parent and grandparent. This becomes
particularly expensive, for example, when trying to scroll through a
large <ul> list.
Instead, upon creation, traverse the DOM JSON and create a map of child
nodes to their parent. Then those two lookups become hash map lookups
rather than a DFS traversal.
2021-07-01 19:19:46 +02:00
Idan Horowitz
97ea192e3e
CI: Cancel duplicate workflow runs for pull requests
...
These are created when a pull request is force-pushed to, which results
in the unneeded waste of action runners on the obsolete CI run.
2021-07-01 18:26:32 +02:00
Idan Horowitz
3265141286
Meta: Make serenity.sh pass the SERENITY_ARCH cmake argument for x86_64
...
This is required as our CMake config defaults to i686 if not overriden
manually via the SERENITY_ARCH argument.
2021-07-01 18:08:16 +02:00
Timothy
efcfc8ef7f
InspectorServer: Use LocalSocket method to get pid
2021-07-01 17:49:18 +02:00
Timothy
972e5d7292
LibCore: Add peer pid retrieval for LocalSocket
...
This will allow programs connected over unix sockets to retrieve the
pid of their peers in a nice way.
2021-07-01 17:49:18 +02:00
Andreas Kling
c52ea3dad5
LibJS: Try to fix Clang build (NewClass::m_class_expression is unused)
2021-07-01 17:46:45 +02:00
Johan Dahlin
f6028c2534
LibJS: NewClass bytecode instruction
...
This adds a the NewClass bytecode instruction, enough of it
is implemented for it to show it in the bytecode (js -d).
2021-07-01 17:34:05 +02:00
Hendiadyoin1
3694b8b690
Kernel: Only deallocate memory when alloc succeeds
...
Also make AllocationHeader acquisition from pointers more verbose
2021-07-01 17:32:34 +02:00
Hendiadyoin1
5f6c513610
Kernel: Add support for 64-bit unaligned Mem-ops
...
Also let the compiler enforce the size and type restrictions
2021-07-01 17:32:34 +02:00
Hendiadyoin1
6b9cf8376e
Kernel: Remove not needed comment in Processor.h
2021-07-01 17:32:34 +02:00
Gunnar Beutner
092ee955aa
DynamicLoader: Remove obsolete comment
2021-07-01 17:22:22 +02:00
Gunnar Beutner
16b9a2d2e1
Kernel+LibPthread: Add support for usermode threads on x86_64
2021-07-01 17:22:22 +02:00
Gunnar Beutner
93c741018e
Kernel+LibPthread: Remove m_ prefix for public members
2021-07-01 17:22:22 +02:00
Idan Horowitz
648b4c7d74
LibJS: Bring JSON.parse slightly closer to the specification
...
This PR does not fix the main issue with our current implementation:
The specification requires that we first check the JSON string for
validity with an ECMA-404 compliant parser, and then evaluate it as if
it was javascript code, of which we do neither at the moment.
2021-07-01 14:14:41 +01:00
Sam Atkins
f5e63f785a
FileManager: Remove clicked breadcrumbs for non-existing directories
...
This fixes #8204 .
In the case that we just navigated up from a directory because it was
deleted, we can detect that easily by checking if the child directory
exists, and then remove the relevant breadcrumbs immediately.
However, it's harder to notice if a child directory for a breadcrumb
is deleted at another time. Previously, clicking that breadcrumb would
crash, but now we check to see if the directory it points to actually
exists. If it doesn't, we pop that breadcrumb and any after it, off
of the breadcrumbbar.
This may not be the ideal solution - maybe it should detect that the
directory is gone automatically - but it works and doesn't involve
managing additional directory watchers.
2021-07-01 17:15:26 +04:30
Sam Atkins
d8e0535116
LibGUI: Add search/removal methods to Breadcrumbbar
...
Both are used by FileManager in the next commit.
find_segment_with_data() was previously a single-use lambda in
FileManager, but making it a method of Breadcrumbbar means we can
re-use it more easily.
2021-07-01 17:15:26 +04:30
Sam Atkins
17615641db
LibGUI: Navigate to parent when FileSystemModel directory is deleted
...
Previously, FileSystemModel would not notice if the directory it has
open (or a parent one) was deleted. Now, it scans for the closest
existing parent directory and opens that.
Also, deleted files and directories that are children of the open dir
now correctly refresh their parent node instead of their own node.
2021-07-01 17:15:26 +04:30
Andreas Kling
0fa141d058
LibJS: Move Binding struct into the DeclarativeEnvironment class
...
Nobody on the outside needs to access this.
2021-07-01 12:31:39 +02:00
Andreas Kling
44221756ab
LibJS: Drop "Record" suffix from all the *Environment record classes
...
"Records" in the spec are basically C++ classes, so let's drop this
mouthful of a suffix.
2021-07-01 12:28:57 +02:00
Andreas Kling
56d25d7210
LibWeb: Show "x86_64" in the user agent string on x86_64 :^)
2021-07-01 12:15:52 +02:00
Andreas Kling
33260ea99b
LibC: Fix jmp_buf layout on x86_64
...
This struct was too small on x86_64, but setjmp() would happily write
past the end of it.
This makes `test-js` run to completion on x86_64 :^)
2021-07-01 12:05:59 +02:00
Idan Horowitz
8d50cf492e
LibJS: Bring JSON.stringify closer to the specification
2021-07-01 11:44:37 +02:00
Gal Horowitz
172d81a717
LibCrypto: Add tests for SignedBigInteger bitwise operations
2021-07-01 11:37:16 +02:00
Gal Horowitz
3872c31b08
LibCrypto: Replace incorrect operator in SignedBigInteger::bitwise_and
2021-07-01 11:37:16 +02:00
Gal Horowitz
38e9e35380
LibCrypto: Replace use of negate() in SignedBigInteger::bitwise_or
...
Calling negate() on a big integer does not make it negative, but
rather flips its sign, so this was not actually acting as an OR.
2021-07-01 11:37:16 +02:00
Andreas Kling
3f5c9d3edb
CrashReporter: Fix bogus register alignment on x86_64
2021-07-01 11:35:52 +02:00
Idan Horowitz
e37f96ccfe
LibJS: Stop coercing this to object in Function's Symbol.hasInstance
2021-07-01 11:35:16 +02:00
Idan Horowitz
6ef56f79bd
LibJS: Stop coercing Date.prototype[Symbol.toPrimitive] hint to string
2021-07-01 09:55:50 +01:00
Idan Horowitz
9295f1936c
LibELF: Check for missing PT_LOAD alignment header value
...
This ensures we dont divide by zero when checking for valid alignment
values.
2021-07-01 10:50:49 +02:00
Gunnar Beutner
f9a8c6f053
LibELF: Implement support for RELA relocations
2021-07-01 10:50:00 +02:00
Gunnar Beutner
1f93ffcd72
LibELF: Simplify ELF load address calculations
...
These were unnecessarily complicated.
2021-07-01 10:50:00 +02:00
Gunnar Beutner
2dbd3f83c1
LibELF: Fix incorrect error message
2021-07-01 10:50:00 +02:00
Hendiadyoin1
90cd11fa8c
Kernel: Support starting up secondary processors on x86_64
2021-07-01 10:50:00 +02:00
Idan Horowitz
7a1a91d7f2
LibJS: Check for DataView in ArrayBuffer.isView()
2021-07-01 09:20:00 +01:00
DoubleNegation
e992658c12
DisplaySettings: Adjust FontSettings.gml to work with dark themes
...
The FontSettings widget now uses background_role instead of
background_color to ensure that it displays properly independently of
the active system theme.
2021-07-01 00:10:25 +02:00