Daniel Bertalan
6c0b9919ce
FileManager: Remove explicit T
to Optional<T>
conversion
2021-07-04 07:24:41 +04:30
Daniel Bertalan
9323d459b4
Tests: Add test for supported operation type traits
2021-07-04 07:24:41 +04:30
Daniel Bertalan
84ddecae8a
AK: Add type traits describing supported operations
...
This will allow us to make `Optional`, `Variant`, and possibly other
data structures conditionally trivially constructible, destructible,
copyable or movable based on their type parameters.
2021-07-04 07:24:41 +04:30
Idan Horowitz
e480d69130
LibJS: Bring ArrayCreate and ArrayConstructor closer to spec
...
Specifically, this now explicitly takes the length, adds missing
exceptions checks to calls with user-supplied lengths, takes and uses
the prototype argument, and fixes some spec non-conformance in
ArrayConstructor and its native functions around the use of ArrayCreate
2021-07-04 00:51:43 +01:00
Idan Horowitz
5ee1ae37b2
LibJS: Add the IteratorStep abstract iterator operation
...
As well as add 2 missing exception checks in the IteratorComplete and
IteratorValue abstract iterator operations.
2021-07-04 00:51:43 +01:00
Erik Biederstadt
ba4d367dea
HackStudio: Remove old form editing logic
...
In the past Hack Studio had the ability to design GUI widgets via `.frm`
files. We now use the GML playground for this purpose, and the old code
can be removed. `.frm` files are now treated as plain text files.
This commit also fixes a crash when opening `.frm` files.
`m_form_inner_container` was never instantiated, and caused a null
pointer dereference.
2021-07-04 01:14:54 +02:00
Gunnar Beutner
e1ff30a360
Toolchain+Userland: Enable TLS for x86_64
...
This is not technically a toolchain change, but it does require
rebuilding the toolchain for x86_64 (and just that).
2021-07-04 01:07:28 +02:00
Gunnar Beutner
371c852fc0
LibELF: Swap the arguments for negative_offset_from_tls_block_end
...
Now that m_tls_offset points to the start of the TLS block the argument
order makes more sense this way.
2021-07-04 01:07:28 +02:00
Gunnar Beutner
251eaad8f0
LibELF: Fix relocation support for 'static __thread' variables
2021-07-04 01:07:28 +02:00
Gunnar Beutner
5f6ee4c539
LibELF: Save the negative TLS offset in m_tls_offset
...
This makes it unnecessary to track the symbol size which just isn't
available for unexported symbols (e.g. for 'static __thread').
2021-07-04 01:07:28 +02:00
Gunnar Beutner
a0a38e1e84
LibELF: Implement TLS relocation support for x86_64
2021-07-04 01:07:28 +02:00
Gunnar Beutner
c51b49a8cb
Kernel: Implement TLS support for x86_64
2021-07-04 01:07:28 +02:00
Gunnar Beutner
04a912f68f
Kernel: Hide the implementation detail that MSRs use two registers
...
When retrieving and setting x86 MSRs two registers are required. The
existing setter and getter for the MSR class made this implementation
detail visible to the caller. This changes the setter and getter to
use u64 instead.
2021-07-04 01:07:28 +02:00
Gunnar Beutner
a09e6171a6
Kernel: Don't allow allocate_tls() if the process has multiple threads
...
We can't safely update the other threads' FS selector. This shouldn't
be a problem in practice because allocate_tls() is only used by the
loader.
2021-07-04 01:07:28 +02:00
Gunnar Beutner
5ca95b3957
Kernel: Replace some hard-coded memory addresses with macros
2021-07-04 01:07:28 +02:00
Gunnar Beutner
e8a25f3795
DynamicLoader: Remove -fbuilding-libgcc hack
...
This won't be necessary anymore after a toolchain rebuild.
2021-07-04 00:35:35 +02:00
Gunnar Beutner
43e46df561
Ports: Remove obsolete patches for ninja
2021-07-04 00:35:35 +02:00
Gunnar Beutner
ef4efce897
Ports: Remove obsolete patches for libexpat
2021-07-04 00:35:35 +02:00
Gunnar Beutner
27005fe846
Ports: Remove obsolete patches for cmake
2021-07-04 00:35:35 +02:00
Gunnar Beutner
12c98105bc
Ports: Remove obsolete patches for chester
2021-07-04 00:35:35 +02:00
Gunnar Beutner
8c062e8bef
Ports: Remove obsolete patches for bc
2021-07-04 00:35:35 +02:00
Gunnar Beutner
18ae608815
Ports: Remove obsolete patches for libicu
2021-07-04 00:35:35 +02:00
Gunnar Beutner
f52bf15f8d
Assistant: Make more of the classes final
2021-07-03 22:38:53 +02:00
Gunnar Beutner
52a3226f6d
Assistant: Make the bitmap accessor pure virtual
...
Assistant looks broken when a result doesn't have an icon.
2021-07-03 22:38:53 +02:00
Gunnar Beutner
6af08f950a
Assistant: Add missing bitmap accessor for terminal actions
2021-07-03 22:38:53 +02:00
Edwin Hoksberg
a4b4397a10
Assistant: Skip URL provider if query is empty or provider specific
2021-07-03 22:38:40 +02:00
Andreas Kling
c06f72c264
Assistant: Don't index the /proc and /sys directories
...
Roughly 20% of indexing time in a fresh install was spent on traversing
these kernel-generated directories. Let's just not. :^)
2021-07-03 22:14:09 +02:00
Andreas Kling
94def5ae9d
Assistant: Avoid copying the result vectors when providers finish
...
Just move() them instead to cut down on the copying. :^)
2021-07-03 22:14:09 +02:00
Andreas Kling
e4199beccc
Assistant: Keep the set of providers in a Vector for easy iteration
2021-07-03 22:14:09 +02:00
Idan Horowitz
ee991fa4e0
CI: Manually cleanup previous self-hosted test262 run workspace folder
...
Unlike the github hosted runners, github's software for self-hosted
runners does not do this automatically.
2021-07-03 19:45:04 +01:00
Idan Horowitz
e9ab9ca5a0
Documentation: Add git to the list of self-hosted runner requirements
...
Github-hosted runners have this pre-installed, so our actions script
do not install it themselves.
2021-07-03 19:45:04 +01:00
Gunnar Beutner
f2dca54bf0
Documentation: Increase recommended amount of RAM
...
The VM won't boot with 32MB because GRUB won't be able to load the
kernel which is about 114MB.
2021-07-03 20:08:54 +02:00
Gunnar Beutner
48f8dea28f
Documentation: Update VirtualBox documentation for x86_64
...
The machine type "Other/Unknown (64-bit)" works for both the x86_64 as
well as the i686 build architecture.
2021-07-03 20:08:54 +02:00
Gunnar Beutner
de152832be
Meta: Add missing quotes in Meta/run.sh
2021-07-03 20:08:54 +02:00
Andreas Kling
4fce72a967
Assistant: Use fstatat() while building FileProvider path cache
...
Using fstatat() allows the kernel to do relative path resolution as
opposed to absolute path resolution, which is significantly faster
and allows us to build the path cache sooner. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
801f74362e
Assistant: Use StringView more in FileProvider fuzzy matching code
...
By not allocating new String objects, the fuzzy matcher becomes a lot
faster and more responsive while typing. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
d640031214
Assistant: Use FileIconProvider for FileProvider query results
...
Instead of showing the default "folder" icon for all file results,
we now show an appropriate icon for the given file. :^)
2021-07-03 20:03:53 +02:00
Andreas Kling
513e67e2eb
Assistant: Make Result bitmaps virtual/lazy
...
Result classes now return their bitmap via a virtual Gfx::Bitmap*
getter. This effectively makes bitmap fetching lazier, since only
results that end up on screen actually get asked for their bitmap.
This drastically reduces the amount of work done by the FileProvider
background worker.
2021-07-03 20:03:53 +02:00
Idan Horowitz
1c29e2f3f7
CI: Run the test262 workflow on a self-hosted runner
...
This should speed it up quite a bit and give us more consistent
performance. (So this workflow could eventually be used for perf
regression testing as well)
2021-07-03 18:32:39 +01:00
Idan Horowitz
969b717e17
Documentation: Add instructions for setting up self-hosted runners
2021-07-03 18:32:39 +01:00
Idan Horowitz
0e35c50da3
Meta: Use virtualization acceleration if available in CI runs
2021-07-03 18:32:39 +01:00
Liav A
458ac9bbba
Kernel/x86_64: Halt if we happen to boot on non-x86_64 machine
2021-07-03 18:40:37 +02:00
Marcus Nilsson
e0cf6f3cf0
TextEditor: Reset editor width when disabling preview mode
...
When disabling preview mode, reset the fixed width of m_editor so that
it fills out the window again even after resizing the splitter.
2021-07-03 17:36:50 +02:00
Marcus Nilsson
2264de9921
LibGUI/TextEditor: Set cut and copy actions to disabled on init
...
We can presume that there is nothing to cut or copy on init since
nothing is selected yet.
2021-07-03 17:36:50 +02:00
Tristan Menke
9f117a79f6
Documentation: Add workaround for blackscreen using WSL+QEMU6.x
...
This workaround disables the in-kernel interrupt controller.
This impacts the VM performance and should probably be removed
when the workaround is no longer needed.
This workaround was posed by stelar7.
See #7523
2021-07-03 17:32:33 +02:00
Andreas Kling
e4a55404f1
LibCore: Avoid duplicate '/' in DirIterator::next_full_path()
...
When the root path of a DirIterator ends with '/', we don't need to
add another '/' before appending the file name.
Fixes an issue where files found by Assistant had 2 leading slashes.
2021-07-03 16:43:08 +02:00
Liav A
70278d57ba
Meta: Add a few more graphics devices to the Q35 for testing purposes
2021-07-03 16:28:49 +02:00
Liav A
00e4cc23cb
Kernel/Graphics: Unblank the screen when initializing bochs display
2021-07-03 16:28:49 +02:00
Liav A
3fae7ca113
Kernel: Clarify and make it easy to not use raw numbers
...
Let's put the PCI IDs as enums in the PCI namespace so they're free to
pollute that namespace, but it's also more easier to use them.
2021-07-03 16:28:49 +02:00
Liav A
b4e230a7bb
Kernel/Graphics: Assert if trying to initialize with the wrong driver
2021-07-03 16:28:49 +02:00