summaryrefslogtreecommitdiffstats
path: root/js/src/jit
Commit message (Collapse)AuthorAgeLines
* Use the correct group for JIT constraints.wolfbeast2019-09-05-11/+28
| | | | | | | This fixes a rare crash/CTD in JS. This adds information about the constraints to a new RAII class so we can finish all constraints at the end. Based on changes in BZ 1568397
* Remove unused checking function for unboxed types.wolfbeast2019-07-22-34/+0
| | | | Tag #1030
* Merge pull request #1192 from g4jc/parser_tuneupMoonchild2019-07-20-207/+159
|\ | | | | Issues #816 / #802 - SpiderMonkey Tuneup
| * 1344334 - Make DoTypeUpdateFallback infallible.Gaming4JC2019-07-18-1/+8
| |
| * 1344477 - Part 2: Optimize Array.prototype.splice with JSOP_NORVCALL.Gaming4JC2019-07-18-135/+0
| |
| * 1344477 - Part 1: Add JSOP_CALL_IGNORES_RV for function call that ignores ↵Gaming4JC2019-07-18-51/+125
| | | | | | | | return value.
| * 1320408 - Part 15: Change NativeObject::addDataProperty to static method.Gaming4JC2019-07-18-1/+1
| |
| * 1320408 - Part 14: Change some GlobalObject methods to static method.Gaming4JC2019-07-18-1/+1
| |
| * 1320408 - Part 12: Change JSScript::sourceData to static method.Gaming4JC2019-07-18-2/+2
| |
| * 1320408 - Part 4: Change JSObject::getGroup to static method.Gaming4JC2019-07-18-11/+16
| |
| * 1320408 - Part 2: Change JSFunction::getOrCreateScript to static method.Gaming4JC2019-07-18-5/+6
| |
* | Define JumpImmediateRange on ARM64.Lars T Hansen2019-07-20-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.