Moonchild
87982cb409
Issue #1679 - Part 2: Some small issues to address buildability.
...
- Explicitly |this| the Asserts in Cell.as<>
- Unified deprot in regexp-error.h
- Convert RegExpShared* inner() to a reinterpret_cast because for SOME reason
.as<> no longer works after the reimport (which is a static cast)
2020-11-13 09:15:22 +08:00
Matt A. Tobin
dbeab6d3af
Issue #1679 - Part 1: First pass account for some of the refactoring differences in regexp-shim.h
...
This is the patch Moonchild committed on the aborted branch before the plan was revised.
2020-11-13 09:15:20 +08:00
Matt A. Tobin
d646d4403f
Bug 1328948 - Add is(), as() to Cell.
...
Tag #1679
2020-11-13 09:15:16 +08:00
Matt A. Tobin
0789f637d1
Issue #1677 - Part 6: Implement NativeRegExpMacroAssembler for new regexp import based on irregexp/NativeRegExpMacroAssembler.cpp
2020-11-13 09:15:13 +08:00
Matt A. Tobin
e3a3e92316
Issue #1677 - Part 5: "Simplify" regexp re-import process (and re-import from later revision)
...
I am going on record to say Mozilla are utter fucking assholes for pulling this as part of their progression.
2020-11-13 09:15:11 +08:00
Matt A. Tobin
12c7f5df33
Issue #1677 - Part 4: Implement shim for regexp
2020-11-13 09:15:10 +08:00
Matt A. Tobin
fdb560b34d
Issue #1677 - Part 3: Create shim definitions for V8-specific code in new regexp implementation
2020-11-13 09:15:08 +08:00
Matt A. Tobin
a3bc68b4e9
Issue #1677 - Part 2: Add build files
2020-11-06 09:43:55 +08:00
Matt A. Tobin
6dc6ff456e
Issue #1677 - Part 1: Import new V8 regexp code with Mozilla's header modifications
2020-11-06 09:43:54 +08:00
Matt A. Tobin
5f32ee0c71
Issue #1676 - Part 21: Use js-cxxflags.mozbuild in testing code and js shell
2020-11-06 09:43:34 +08:00
Matt A. Tobin
b38a250130
Issue #1676 - Part 20: Split vtune sources out of js/src/moz.build
2020-11-06 09:43:32 +08:00
Matt A. Tobin
6da35ffb78
Issue #1676 - Part 19: Split ctypes sources out of js/src/moz.build
2020-11-06 09:43:31 +08:00
Matt A. Tobin
66308991b1
Issue #1676 - Part 18: Move and separate top level sources from vm sources in js/src/moz.build
2020-11-06 09:43:29 +08:00
Matt A. Tobin
fc371224e1
Issue #1676 - Part 17: Put remaining source files which have debug code ifdef'd behind MOZ_DEBUG
2020-11-06 09:43:28 +08:00
Matt A. Tobin
6fa51e7392
Issue #1676 - Part 16: Split WASM sources out of js/src/moz.build
...
Also puts WasmBinaryIterator.cpp which is debug code ifdef'd behind MOZ_DEBUG
2020-11-06 09:43:27 +08:00
Matt A. Tobin
81d575eff7
Issue #1676 - Part 15: Split threading sources out of js/src/moz.build
2020-11-06 09:43:25 +08:00
Matt A. Tobin
e6a6e0e7fd
Issue #1676 - Part 14: Split proxy sources out of js/src/moz.build
2020-11-06 09:43:24 +08:00
Matt A. Tobin
155a0fbe41
Issue #1676 - Part 13: Split perf sources out of js/src/moz.build
2020-11-06 09:43:23 +08:00
Matt A. Tobin
70db4edd43
Issue #1676 - Part 12: Split jit sources out of js/src/moz.build
2020-11-06 09:43:21 +08:00
Matt A. Tobin
96f685e827
Issue #1676 - Part 11: Split irregexp sources out of js/src/moz.build
2020-11-06 09:43:20 +08:00
Matt A. Tobin
25a9cb15e8
Issue #1676 - Part 10: Split gc sources out of js/src/moz.build
2020-11-06 09:43:19 +08:00
Matt A. Tobin
c509fb2251
Issue #1676 - Part 9: Move DIRS down in js/src/moz.build
2020-11-06 09:43:17 +08:00
Matt A. Tobin
69b861a491
Issue #1676 - Part 8: Fix up include for selfhosted.out.h
2020-11-06 09:43:16 +08:00
Matt A. Tobin
f7a8fe807e
Issue #1676 - Part 7: Split frontend sources out of js/src/moz.build
2020-11-06 09:43:14 +08:00
Matt A. Tobin
c25769b145
Issue #1676 - Part 6: Split ds sources out of js/src/moz.build
2020-11-06 09:43:13 +08:00
Matt A. Tobin
1f772961f7
Issue #1676 - Part 5: Split devtools sources out of js/src/moz.build
2020-11-06 09:43:12 +08:00
Matt A. Tobin
6c5f461881
Issue #1676 - Part 4: Split builtin sources out of js/src/moz.build
2020-11-06 09:43:10 +08:00
Matt A. Tobin
bf147b821c
Issue #80 - De-unify js/src
...
Three debug sources are producing link warnings and will be solved as Issue #1676 progresses.
This does not include JS Testing sources.
Specifically: js/src/gdb or js/src/jsapi-tests
2020-11-06 09:43:09 +08:00
Matt A. Tobin
55c2ff2df2
Issue #1676 - Part 3: Split DEFINES out of js/src/moz.build
2020-11-06 09:43:08 +08:00
Matt A. Tobin
209c7f2305
Issue #1676 - Part 2: Split CFLAGS and CXXFLAGS directives out of js/src/moz.build
2020-11-06 09:43:06 +08:00
Matt A. Tobin
b69cf124dc
Issue #1676 - Part 1: Split MozTesting directives out of js/src/moz.build
2020-11-06 09:43:05 +08:00
Moonchild
3e118e4948
[devtools] More gracefully (than a crash) handle stack capture failures.
2020-11-06 09:42:40 +08:00
Moonchild
9c59990883
Issue #1656 - Part 10: Manual cleanup.
2020-09-25 22:07:01 +08:00
Moonchild
9305760571
Issue #1656 - Part 9: Single-line-comment style.
2020-09-25 22:07:00 +08:00
Moonchild
d5919942ff
Issue #1656 - Part 8: Devtools and misc.
2020-09-25 22:06:55 +08:00
Moonchild
dabd32f955
Issue #1656 - Part 7: Nuke vim config lines in JS
2020-09-25 22:04:24 +08:00
Moonchild
0cd673d720
Issue #1656 - Part 6: Clean up the build files
2020-09-25 22:04:23 +08:00
Moonchild
30df895eb2
Issue #1656 - Part 3: Nuke more vim config lines in the tree.
...
Another S&R run with some smarter matching.
2020-09-25 22:04:17 +08:00
Moonchild
8c395520d9
Issue #1656 - Part 1: Nuke most vim config lines in the tree.
...
Since these are just interpreted comments, there's 0 impact on actual code.
This removes all lines that match /* vim: set(.*)tw=80: */ with S&R -- there are
a few others scattered around which will be removed manually in a second part.
2020-09-25 22:04:12 +08:00
Moonchild
ef11a4d7e8
Issue #618 - Clear the module map when changing a Document's global and add
...
release build assertions for mismatching compartments.
2020-09-10 21:07:51 +08:00
Moonchild
065ef47e65
Issue #1639 - Implement object.fromEntries()
...
Adds a self-hosted implementation of this map->object conversion.
This resolves #1639 .
2020-09-10 21:06:50 +08:00
Moonchild
34db761758
Issue #618 - Simplify module resolve hook to be a function pointer
...
This is an ahead-of time port to try and address #1624 .
This is based on BZ 1461751 and Jon Coppeard's work in it.
2020-08-29 08:08:41 +08:00
Moonchild
976239c8d0
[js] Add some utility functions to get the current JS runtime.
2020-08-29 08:08:38 +08:00
Gaming4JC
f3d348ebd7
Issue #618 - Align error handling for module scripts with the spec - Debug follow up
...
MODULE_STATUS_ERRORED is no more. Replacing with newer API.
Ref: BZ 1420420
2020-08-29 08:07:58 +08:00
Gaming4JC
f600824850
Issue #618 - Lazily initialise module binding maps - Debug follow up
...
The added debug assertion does not work due to missing API.
They were added in BZ 1337491, 1395366, and others, but were primarily used for multi-threading.
This uses our existing non-multithreaded syntax instead, resolving a `no member named` build error.
2020-08-29 08:07:54 +08:00
Moonchild
39050b430e
Issue #618 - Lazily initialise module binding maps
...
Make it so they are not allocated on a background thread in a different zone to
the final module.
Ref: BZ 1372258
2020-08-29 08:07:06 +08:00
Moonchild
1cfaf06d8f
Issue #618 - Use a single slot for the module's environment object.
...
According to the spec this isn't created until the module is instantiated, but
we create it when we compile the module.
We stored this previously in InitialEnvironmentSlot and copied it to
EnvironmentSlot when it was supposed to be created, but we can just store it in
the latter slot straight away and check the module's status and return null if
it shouldn't exist yet.
This reduces the number of slots needed on a moduleObject to 17.
Re: BZ 1420412 Part 1
We can't implement the second part to further reduce our number of slots,
because it relies on SetProxyReservedSlot which in turn relies on
rearchitecturing JS proxies to make reserved slots dynamic. That's a rabbit hole
we really don't want to fall into.
So, we'll end up being a bit slower because it can't be in-line allocated with
having more than 16 slots, but so be it. I sincerely doubt it will make any
practical difference.
2020-08-29 08:07:03 +08:00
Moonchild
0d874713ef
Issue #618 - Align error handling for module scripts with the spec (again)
...
This updates module implementation to match spec regarding handling of
instantiation errors, after it was changed yet again, this time to not remember
instantiation errors, but instead immediately rethrow applicable ones.
Ref: BZ 1420420
2020-08-29 08:07:00 +08:00
Moonchild
9b260e75cc
[js] Reinstate precise floating point model for all js sources.
2020-08-19 16:21:44 +08:00
Moonchild
b52bc1586d
[js] Try to catch bad pointers for GC and bail if not valid.
2020-08-06 10:23:26 +08:00