Commit graph

72 commits

Author SHA1 Message Date
Gaming4JC
87bfc02f09 1320408 - Part 4: Change JSObject::getGroup to static method. 2019-07-22 19:47:34 +08:00
Gaming4JC
07cd213071 1320408 - Part 2: Change JSFunction::getOrCreateScript to static method. 2019-07-22 19:47:27 +08:00
Lars T Hansen
b97da34a21 Define JumpImmediateRange on ARM64.
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.
2019-07-22 19:45:17 +08:00
Gaming4JC
db85a69fdb Issue #1142 - Cleanup unused debug code for unboxed objects
Also fixes an assertion during compile if debug is enabled since unboxed objects have been removed.
2019-07-05 21:30:00 +08:00
g4jc
2b5f3e87c8 Issue #1142 - Remove uneeded assertion (#1145)
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.
2019-07-05 21:29:58 +08:00
wolfbeast
0342ac0a6b Clean up MObjectState 2019-06-28 20:11:24 +08:00
wolfbeast
c2c997f393 Remove now-unused parameter (prev. used for unboxed objects). 2019-06-28 20:11:21 +08:00
wolfbeast
82e3eafecf Remove UnboxedObjects ObjectGroup addendum 2019-06-28 20:11:18 +08:00
wolfbeast
05daa3c420 Remove Unboxed Objects Option Code 2019-06-28 20:11:12 +08:00
wolfbeast
7ec709fb70 Remove Unboxed Object code from jit, Part 4. 2019-06-28 20:11:07 +08:00
wolfbeast
bc5121a769 Remove Unboxed Object code from jit, Part 3. 2019-06-28 20:11:04 +08:00
wolfbeast
0c434f7244 Fix unified deprot 2019-06-28 20:11:01 +08:00
wolfbeast
3e1ffa6cf6 Remove Unboxed Object code from jit, Part 2. 2019-06-28 20:10:58 +08:00
wolfbeast
bd6c34b56a Revert "Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again."
This reverts commit 912c3f5cbc512557794a3dfd7bc5cb4994413dfe.
2019-06-28 20:10:21 +08:00
wolfbeast
aae7584fdd Call a more generic function when inlining array natives.
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.
2019-06-21 09:58:16 +08:00
wolfbeast
8dcf847a45 Tabs -> Spaces (no code change) 2019-06-19 21:34:41 +08:00
wolfbeast
a6bb928fa4 Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again. 2019-06-19 21:34:38 +08:00
wolfbeast
90bb3e7f1d Remove and clean up more code. 2019-06-19 21:34:34 +08:00
wolfbeast
c6c456b12b Replace SetOrExtendBoxedOrUnboxedDenseElements with direct calls. 2019-06-19 21:34:33 +08:00
wolfbeast
ec0e78d127 Convert CopyBoxedOrUnboxedDenseElements to something that doesn't crash. 2019-06-19 21:34:29 +08:00
wolfbeast
051e96c365 Remove unused LIR temp register for unboxed arrays. 2019-06-19 21:34:23 +08:00
wolfbeast
87f3c86484 Make use of ArrayObjects in favor of generic JS objects.
ArrayObjects has been a thing for years but been under-used. About time
they are used where prudent.
2019-06-19 21:34:21 +08:00
wolfbeast
1176a9ace1 Inline combined methods for NativeObject and UnboxedArrayObject accesses. 2019-06-19 21:34:19 +08:00
wolfbeast
54b6b407a9 Remove UnboxedArray code part 2 2019-06-19 21:34:02 +08:00
wolfbeast
5c15924907 Remove UnboxedArray code part 1 2019-06-19 21:33:59 +08:00
wolfbeast
ad95798269 Fix #1091 deprot 2019-05-31 07:22:17 +08:00
Lars T Hansen
772e51c7b4 [js, ARM] Always check error return from BufferOffset::diffB.
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.
2019-05-31 07:18:34 +08:00
wolfbeast
cc936df2e5 Remove unboxed object code from jit, Part 1 2019-05-24 21:56:13 +08:00
wolfbeast
37315e4898 Remove Unboxed Objects from vm/ Part 1 + fix deprot 2019-05-24 21:56:09 +08:00
wolfbeast
d7714885d1 Remove Unboxed Objects in ScalarReplacement
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.
2019-05-24 21:55:55 +08:00
wolfbeast
7b0eb7be8c remove unboxed code chunk (wip1) 2019-05-24 21:55:45 +08:00
wolfbeast
c3a58ab50b Simplify some alias sets in IonMonkey. 2019-03-29 22:27:39 +08:00
Nicolas B. Pierron
e390f01ef5 Restrict ExtractLinearSum to monotonous operation in infinite math space.
Thanks to Bruno Keith & Niklas Baumstark from the phoenhex team for
finding this issue and reporting it with a proper analysis.
2019-03-29 22:21:19 +08:00
wolfbeast
eb32b5d7e4 Pref the use of unboxed plain objects in JS and disable by default.
This should be all that's needed for #1017, but verification of
impact is definitely desired.
2019-03-23 06:44:08 +08:00
adeshkp
f922e8ae0e Remove a couple of unused variables 2019-03-16 07:04:13 +08:00
wolfbeast
0c5263683a Restrict ExtractLinearSum to find non-wrapping results. 2019-02-16 00:22:09 +08:00
wolfbeast
e4ac0e17f8 Fix mistakingly flagged instructions.
This enables optimizations which were wrongly inhibited before by this typo.
2019-02-16 00:21:23 +08:00
wolfbeast
acb2819baa Simplify SIMD conversion from Uint64 to Double. 2019-02-16 00:18:22 +08:00
wolfbeast
c554052ddd Don't mark MGetFirstDollarIndex as movable. 2019-02-16 00:18:16 +08:00
wolfbeast
3567db7ccc Code style improvements (no bug). 2019-02-16 00:16:18 +08:00
wolfbeast
f592b614d0 Improve graph edge resolution code.
This is a follow-up to ca7ecd37c94e268972697a37eec4e46771c6e6f2 further improving the DiD resolution for CVE-2018-12386.
2019-02-16 00:16:16 +08:00
wolfbeast
3757eafab3 Bug 1493900.
DiD fix.
2019-02-16 00:15:07 +08:00
trav90
4b23aec47e Don't memset-zero the BacktrackingAllocator::vregs array of non-trivial VirtualRegister instances 2019-02-16 00:13:50 +08:00
trav90
02e07860b2 Stop using PodZero in several places to initialize values of non-trivial type 2019-02-16 00:13:45 +08:00
wolfbeast
ac3468d5cc Add extra check for assembler buffer space. 2019-02-16 00:12:29 +08:00
wolfbeast
36a9805617 Revert "Bug 1444668 - Avoid allocating large AssemblerBuffers. r=luke, r=bbouvier, a=RyanVM"
This reverts commit 9472136272f01b858412f2d9d7854d2daa82496f.
2019-02-16 00:12:16 +08:00
wolfbeast
2a6262ee6d Remove recover instruction results after bailouts. 2019-02-16 00:08:29 +08:00
Nicolas B. Pierron
0c1ca8a865 Bug 1464829 - Ensure the recover instruction vector has the expected size. 2019-02-16 00:01:56 +08:00
wolfbeast
8f16d02c34 Change inlining of intrinsics. 2019-02-16 00:01:15 +08:00
wolfbeast
66bf4fa8f9 Bug 1411415. 2019-02-15 23:53:18 +08:00