summaryrefslogtreecommitdiffstats
path: root/js/src/jit
Commit message (Collapse)AuthorAgeLines
* Define JumpImmediateRange on ARM64.Lars T Hansen2019-07-22-4/+6
| | | | | | | | There are comments in the code suggesting that we've made plans at some point to handle very far jumps via patching + indirect jumps, but all of those comments are TODO/FIXME. Absent such a strategy, the furthest jump is 2^27-1 bytes, and we need to define JumpImmediateRange to reflect that.
* Issue #1142 - Cleanup unused debug code for unboxed objectsGaming4JC2019-06-28-1/+1
| | | | Also fixes an assertion during compile if debug is enabled since unboxed objects have been removed.
* Issue #1142 - Remove uneeded assertion (#1145)g4jc2019-06-28-1/+0
| | | Since unboxed objects were removed, isUnboxed is undefined. This causes a build failure when debuging is enabled. This patch fixes the issue by removing the uneeeded assertion.
* Clean up MObjectStatewolfbeast2019-06-26-59/+6
|
* Remove now-unused parameter (prev. used for unboxed objects).wolfbeast2019-06-26-10/+6
|
* Remove UnboxedObjects ObjectGroup addendumwolfbeast2019-06-25-8/+2
|
* Remove Unboxed Objects Option Codewolfbeast2019-06-25-6/+0
|
* Remove Unboxed Object code from jit, Part 4.wolfbeast2019-06-25-406/+20
|
* Remove Unboxed Object code from jit, Part 3.wolfbeast2019-06-23-85/+10
|
* Fix unified deprotwolfbeast2019-06-23-1/+2
|
* Remove Unboxed Object code from jit, Part 2.wolfbeast2019-06-23-849/+7
|
* Call a more generic function when inlining array natives.wolfbeast2019-06-20-26/+5
| | | | | | | This simplifies the code a bit because ElementAccessHasExtraIndexedProperty checks for length-overflow (directly) and sparse-indexes (through TypeCanHaveExtraIndexedProperties) so the callers don't have to do that anymore.
* Tabs -> Spaces (no code change)wolfbeast2019-06-18-2/+2
|
* Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again.wolfbeast2019-06-18-7/+2
|
* Remove and clean up more code.wolfbeast2019-06-18-25/+8
|
* Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls.wolfbeast2019-06-18-23/+19
|
* Convert CopyBoxedOrUnboxedDenseElements to something that doesn't crash.wolfbeast2019-06-17-2/+12
|
* Remove unused LIR temp register for unboxed arrays.wolfbeast2019-06-12-28/+12
|
* Make use of ArrayObjects in favor of generic JS objects.wolfbeast2019-06-12-12/+12
| | | | | ArrayObjects has been a thing for years but been under-used. About time they are used where prudent.
* Inline combined methods for NativeObject and UnboxedArrayObject accesses.wolfbeast2019-06-10-33/+29
|
* Merge branch 'master' into remove-unboxedwolfbeast2019-06-08-2/+12
|\
| * Fix #1091 deprotwolfbeast2019-05-29-0/+2
| |
| * [js, ARM] Always check error return from BufferOffset::diffB.Lars T Hansen2019-05-25-2/+10
| | | | | | | | | | | | | | We were missing error checks at two points. In one case an error return is meaningful; in another case it is not, as the problem should have been guarded against at a higher level by emitting far jump islands soon enough during pasteup of compiled code.
* | Remove UnboxedArray code part 2wolfbeast2019-05-23-77/+16
| |
* | Remove UnboxedArray code part 1wolfbeast2019-05-23-1138/+199
|/
* Remove unboxed object code from jit, Part 1wolfbeast2019-05-16-615/+26
|
* Remove Unboxed Objects from vm/ Part 1 + fix deprotwolfbeast2019-05-16-0/+3
|
* Remove Unboxed Objects in ScalarReplacementwolfbeast2019-05-15-112/+0
| | | | | | | | | A note about the Scalar Replacement Changes: The M{Load,Store}Unboxed* instructions in theory could be used to manipulate and analyze typed arrays. However, TypedArrays should already be excluded from eligibility because of the potential for cross-thread sharing in a SharedArrayBuffer world, and so the only support in Scalar Replacement here is for Unboxed Objects, meaning it can all be removed.
* remove unboxed code chunk (wip1)wolfbeast2019-05-14-107/+25
|
* Simplify some alias sets in IonMonkey.wolfbeast2019-03-26-6/+4
|
* Restrict ExtractLinearSum to monotonous operation in infinite math space.Nicolas B. Pierron2019-03-23-4/+17
| | | | | Thanks to Bruno Keith & Niklas Baumstark from the phoenhex team for finding this issue and reporting it with a proper analysis.
* Pref the use of unboxed plain objects in JS and disable by default.wolfbeast2019-03-21-1/+1
| | | | | This should be all that's needed for #1017, but verification of impact is definitely desired.
* Remove a couple of unused variablesadeshkp2019-03-14-1/+0
|
* Restrict ExtractLinearSum to find non-wrapping results.wolfbeast2018-12-13-1/+1
|
* Fix mistakingly flagged instructions.wolfbeast2018-12-12-1/+1
| | | | This enables optimizations which were wrongly inhibited before by this typo.
* Simplify SIMD conversion from Uint64 to Double.wolfbeast2018-11-01-31/+21
|
* Don't mark MGetFirstDollarIndex as movable.wolfbeast2018-10-31-1/+4
|
* Code style improvements (no bug).wolfbeast2018-10-23-9/+18
|
* Improve graph edge resolution code.wolfbeast2018-10-23-17/+24
| | | | This is a follow-up to ca7ecd37c94e268972697a37eec4e46771c6e6f2 further improving the DiD resolution for CVE-2018-12386.
* Bug 1493900.wolfbeast2018-10-04-3/+12
| | | | DiD fix.
* Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial ↵trav902018-09-12-15/+11
| | | | VirtualRegister instances
* Stop using PodZero in several places to initialize values of non-trivial typetrav902018-09-12-14/+7
|
* Add extra check for assembler buffer space.wolfbeast2018-09-04-1/+2
|
* Revert "Bug 1444668 - Avoid allocating large AssemblerBuffers. r=luke, ↵wolfbeast2018-08-30-49/+9
| | | | | | r=bbouvier, a=RyanVM" This reverts commit 9472136272f01b858412f2d9d7854d2daa82496f.
* Remove recover instruction results after bailouts.wolfbeast2018-07-13-38/+20
|
* Bug 1464829 - Ensure the recover instruction vector has the expected size.Nicolas B. Pierron2018-06-07-5/+1
|
* Change inlining of intrinsics.wolfbeast2018-06-07-12/+155
|
* Bug 1411415.wolfbeast2018-04-29-9/+17
|
* Bug 1444668 - Avoid allocating large AssemblerBuffers. r=luke, r=bbouvier, ↵Jan de Mooij2018-04-19-9/+49
| | | | a=RyanVM
* Fix Value::isGCThing footgun, stop returning true for NullValuetrav902018-04-07-42/+42
|