Commit graph

299 commits

Author SHA1 Message Date
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
wolfbeast
0221618762 Avoid type confusion in ArrayJoinDenseKernel 2019-07-08 20:28:57 +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
Travis W
f3c2a3596c Add StoreBuffer-inl.h header to jsobj.cpp
This should fix deprot on the Linux and Macintosh
2019-06-28 20:11:30 +08:00
wolfbeast
e4c7c846c8 Remove anyNewScript() 2019-06-28 20:11:27 +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
30b5b0a6da Remove unboxed object tests. 2019-06-28 20:11:15 +08:00
wolfbeast
05daa3c420 Remove Unboxed Objects Option Code 2019-06-28 20:11:12 +08:00
wolfbeast
aa89a14709 Remove Unboxed Object code from /vm, Part 3. 2019-06-28 20:11:10 +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
bd3135ad35 Remove/inline CanonicalizeArrayLengthValue. 2019-06-19 21:34:39 +08:00
wolfbeast
a6bb928fa4 Remove JSOP_SPREADCALLARRAY and just use JSOP_NEWARRAY again. 2019-06-19 21:34:38 +08:00
wolfbeast
1d499496a2 Update comment 2019-06-19 21:34:36 +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
79dfc644d3 Clean up and rename MoveBoxedOrUnboxedDenseElements. 2019-06-19 21:34:31 +08:00
wolfbeast
ec0e78d127 Convert CopyBoxedOrUnboxedDenseElements to something that doesn't crash. 2019-06-19 21:34:29 +08:00
wolfbeast
a7d7332c7b Fix typo in ArrayShiftMoveElements 2019-06-19 21:34:28 +08:00
wolfbeast
18166cf949 Remove functors for array natives. 2019-06-19 21:34:26 +08:00
wolfbeast
ea2349157d Remove unboxed array context option and shell flag. 2019-06-19 21:34:25 +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
9c6678a2d3 Update tzdata SpiderMonkey files 2019-06-18 15:19:23 +08:00
wolfbeast
f5923f0626 Add Atomics.notify instead of Atomics.wake according to revised spec.
- Keep .wake as an alias until we're certain it can be removed.
- Enable SAB memory
2019-06-15 06:27:46 +08:00
wolfbeast
ad95798269 Fix #1091 deprot 2019-05-31 07:22:17 +08:00
wolfbeast
cdfd0e29e7 Improve efficiency of (C++) heap allocations related to
BytecodeEmitter::code.

While there, also add some sanity checks and clean up code.
2019-05-31 07:21:48 +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
8ca43343c9 Fix architecture flag for PPC64
Fixes #1092
2019-05-31 07:17:15 +08:00
wolfbeast
2db998a4f8 Remove Unboxed Objects from vm/ - Part 2 2019-05-24 21:56:16 +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
96c56fa091 Remove array header 2019-05-24 21:56:05 +08:00
wolfbeast
4dd127a34d Remove unboxed object code from iteration. 2019-05-24 21:56:01 +08:00
wolfbeast
d73dc74bd1 Remove unboxed objects from GC 2019-05-24 21:55:58 +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
fb23522087 Remove initial chunk of Unboxed Objects machinery part 2 2019-05-24 21:55:50 +08:00
wolfbeast
7b0eb7be8c remove unboxed code chunk (wip1) 2019-05-24 21:55:45 +08:00
wolfbeast
3c6346afa9 Unhook Unboxed Objects option 2019-05-24 21:55:41 +08:00