summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2021-06-08UserspaceEmulator: Stop parsing options on first non-optionJelle Raaijmakers
2021-06-08Userland: Let `env` parse options up to first non-optionJelle Raaijmakers
2021-06-08LibCore/ArgsParser: Learn how to stop on first non-optionJelle Raaijmakers
We need this for utilities like `env`, that do not gain anything by parsing the options passed to the command they are supposed to execute.
2021-06-08LibCore/ArgsParser: Add test suiteJelle Raaijmakers
This adds a very basic test suite for ArgsParser that we can use to set a baseline of functionality that we want to make sure keeps working.
2021-06-08Kernel: Simplify `execve` shebang argument handlingJelle Raaijmakers
2021-06-08LibCore: Support fine-grained failure behavior for ArgsParserJelle Raaijmakers
2021-06-08LibJS: Add sequence expression bytecode generationLuke
2021-06-08Kernel: Implement InodeFile::stat() and simplify FileDescription::stat()Max Wipfli
2021-06-08Websites: Some updates for the serenityos.org front pageAndreas Kling
- Add link to the Discord server - Remove reference to Freenode IRC channel since it's no longer used - Add sponsorship links for Linus :^)
2021-06-08LibJS: Add conditional expression bytecode generationLuke
Or, by its more common name, the ternary operator :^)
2021-06-08LibJS: Implement bytecode ops for logical expressionsGunnar Beutner
2021-06-08LibJS: Convert values to boolean for JumpIfTrue/JumpIfFalseGunnar Beutner
Value::as_bool() might fail if the underlying value isn't already a boolean value.
2021-06-08LibJS: Add the Symbol.species getter to the appropriate built-insIdan Horowitz
2021-06-07LibJS: Use to_property_key() a bunch in ReflectObjectLinus Groh
Yay for correctness. :^)
2021-06-07LibJS: Remove redundant exception checksLinus Groh
2021-06-07LibJS: Never omit setter/getter attributes in accessor descriptor objectLinus Groh
These should not be omitted, an accessor with out getter or setter still yields an undefined for the attribute in its descriptor object.
2021-06-07LibJS: Fix get_own_property_descriptor_object() field name orderLinus Groh
This is defined by the spec: enumerable and configurable come last.
2021-06-07LibJS: Add missing cyclic prototype check to Object.setPrototypeOf()Linus Groh
2021-06-07LibJS: Use macros to generate the common unary/binary bytecode opsAndreas Kling
2021-06-07Toolchain: Add `gettext` as a dependency to `Dockerfile`Jelle Raaijmakers
We need `msgfmt` inside of the `gettext` package in order to build the git port.
2021-06-07Ports: Make `curl` detect our OpenSSL portJelle Raaijmakers
Without a proper prefix, the `configure` script will probably pick up the host's OpenSSL library. This change makes sure the script always looks at the library present in the Serenity build dir.
2021-06-08SoundPlayer: Enable stop button when play button clickedNick Miller
Previously, if you play a file, then stop, then play again, the stop button will be permanently disabled until you open a file again. The stop button should be enabled whenever a file is loaded. This commit fixes the GUI bug by enabling the stop button whenever the play button is clicked (if a file is currently loaded).
2021-06-07LibJS: Fix whitespace errors in ASTCodegen.cppLinus Groh
2021-06-07LibJS: Add bytecode generation for BinaryOp::InstanceOfLinus Groh
2021-06-07LibJS: Add bytecode generation for BinaryOp::InLinus Groh
2021-06-07LibJS: Make sure that if expressions yield the correct valueGunnar Beutner
When evaluated as an expression "if (true) { 3 } else { 5 }" should yield 3. This updates the bytecode interpreter to make it so.
2021-06-07LibJS: Make sure scope expressions yield the correct valueGunnar Beutner
When evaluated as an expression "{ 3 }" should yield 3. This updates the bytecode interpreter to make it so.
2021-06-08LibAudio: WavLoader: Avoid reading partial samplesNick Miller
When samples are requested in `Audio::Loader::get_more_samples`, the request comes in as a max number of bytes to read. However, the requested number of bytes may not be an even multiple of the bytes per sample of the loaded file. If this is the case, and the bytes are read from the file/stream, then the last sample will be a partial/runt sample, which then offsets the remainder of the stream, causing white noise in playback. This bug was discovered when trying to play 24-bit Wave files, which happened to have a sample size that never aligned with the number of requested bytes. This commit fixes the bug by only reading a multiple of "bytes per sample" for the loaded file.
2021-06-08LibAudio+LibCore: Remove unnecessary IODeviceStreamReader.hNick Miller
IODeviceStreamReader isn't pulling its weight. It's essentially a subset of InputFileStream with only one user (WavLoader). This refactors WavLoader to use InputFileStream instead.
2021-06-07CatDog: Enhance the speech bubble artificial intelligenceBrian Gianforcaro
Enable cat dog to greet you, and help you with yak shave sessions.
2021-06-08LibGUI+SoundPlayer: Add Slider option to jump to cursorNick Miller
When the cursor is clicked outside of the slider knob, the current behavior is that it will step up or down by the Slider page step amount. This commit adds an option to jump the slider knob directly to the where the mouse cursor is on mouse down events. This behavior is disabled by default. It must be enabled with `Slider::set_jump_to_cursor()`. Jump to cursor is enabled in SoundPlayer since most music players have this behavior.
2021-06-07LibJS: Add <<, >> and >>> assignment operatorsRyan Chandler
2021-06-07LibJS: Add bytecode ops for <<, >> and >>>Luke
2021-06-07LibJS: Add support for various assignment operatorsRyan Chandler
2021-06-07LibJS: Add support for typed equality checksRyan Chandler
2021-06-07LibJS: Add bytecode generation for EmptyStatementGunnar Beutner
2021-06-07LibJS: Add bytecode generation for DebuggerStatementLinus Groh
No-op. :^)
2021-06-07LibJS: Add bytecode instructions for a bunch of unary operatorsLinus Groh
~, !, +, -, typeof, and void.
2021-06-07LibJS: Remove redundant Value() from bytecode bitwise ops execute()Linus Groh
2021-06-07LibJS: Add bytecode ops for loading boolean and null valuesGunnar Beutner
2021-06-07LibJS: Fix AbstractInequals returning result of AbstractEqualsRyan Chandler
2021-06-07LibJS: Add bytecode ops for &, | and ^Luke
2021-06-07LibJS: Add bytecode ops for >, >= and <=Gunnar Beutner
2021-06-07CONTRIBUTING.md: Add Pull Request Q&A sectionNick Miller
This is an attempt to clarify general pull request etiquette. Answers are copied verbatim from `@awesomekling`'s responses in Discord.
2021-06-07LibJS: Add bytecode instructions for modulo and exponentiationGunnar Beutner
2021-06-07Toolchain: Add `ccache` to DockerfileJelle Raaijmakers
Following up on 2d38d56e, we were missing this in our Dockerfile.
2021-06-07LibJS: Add bytecode instructions for multiplication and divisionGunnar Beutner
2021-06-07Ports: Add Beneath a Steel SkyJelle Raaijmakers
2021-06-07LibJS: Remove unused Bytecode::Block::m_buffer_endAndreas Kling
2021-06-07LibJS: Add placeholder bytecode block sealing mechanismAndreas Kling
After compiling bytecode, we should mark the memory read-only. This currently does not work because it breaks instruction destruction. I'm adding this anyway with a FIXME so we don't forget about it. :^)