This matches what we do for C++-interpreter frames in CollectInterpreterStackScripts and
SkipInterpreterFrameEntries. It's necessary for Interpreter => JIT OSR to work correctly.
This fixes remaining jit-test failures with --blinterp-eager
Differential Revision: https://phabricator.services.mozilla.com/D31050
--HG--
extra : moz-landing-system : lando
ES5.1 removed time-only format T00:00:00 and no other browsers support it. So this diff removes the support from gecko.
Differential Revision: https://phabricator.services.mozilla.com/D31253
--HG--
extra : moz-landing-system : lando
The code in NewArgumentsObject was wrong because the interpreter code calling it
also relies on the analysis having been performed.
Differential Revision: https://phabricator.services.mozilla.com/D30899
--HG--
extra : moz-landing-system : lando
1. We can't use loadValue for JSOP_DOUBLE because on ARM that might use LDRD or
LDM and these are not guaranteed to support unaligned loads. Fix is to add
loadUnalignedValue that always uses plain 32-bit loads.
2. DebugTrapHandler's fast path for the interpreter used "lr" as second scratch
register, clobbering the return address. The setSecondScratchRegister mechanism
prevents this.
Differential Revision: https://phabricator.services.mozilla.com/D30879
--HG--
extra : moz-landing-system : lando
This is a basic threaded interpreter design. Performance is pretty good but we
can optimize it more in the future when everything else is in place.
Differential Revision: https://phabricator.services.mozilla.com/D30370
--HG--
extra : moz-landing-system : lando
This change introduces a new dll, vrhost, to make it easier to share
VR code across multiple process.
An executable, vrtesthost, is also added for testing purposes to
validate the DLL loads in a minimal environment.
Differential Revision: https://phabricator.services.mozilla.com/D30653
--HG--
extra : moz-landing-system : lando
This is preliminary work to allowing encoding of JSCVTFP, the instruction that exists on new AArch64 devices that greatly speeds up websites that use floating-point math.
Differential Revision: https://phabricator.services.mozilla.com/D30997
--HG--
extra : moz-landing-system : lando
The code in NewArgumentsObject was wrong because the interpreter code calling it
also relies on the analysis having been performed.
Differential Revision: https://phabricator.services.mozilla.com/D30899
--HG--
extra : moz-landing-system : lando
1. We can't use loadValue for JSOP_DOUBLE because on ARM that might use LDRD or
LDM and these are not guaranteed to support unaligned loads. Fix is to add
loadUnalignedValue that always uses plain 32-bit loads.
2. DebugTrapHandler's fast path for the interpreter used "lr" as second scratch
register, clobbering the return address. The setSecondScratchRegister mechanism
prevents this.
Differential Revision: https://phabricator.services.mozilla.com/D30879
--HG--
extra : moz-landing-system : lando
This function probably predates the existence of the DebuggerFrame class, and
was never moved in.
Depends on D28785
Differential Revision: https://phabricator.services.mozilla.com/D28786
--HG--
extra : moz-landing-system : lando
Tracelogger is no longer functioning properly because of bad script event ids. The baselinescript load into scratch1 was accidentally removed leading garbage script ids to be passed into emitTraceLoggerResume. This fix aims to simply reload the correct value back into scratch1 before calling tracelogger.
Differential Revision: https://phabricator.services.mozilla.com/D30680
--HG--
extra : moz-landing-system : lando
We can run /debug mochitests against geckoview for the cost of another dozen
or so test annotations. Both /opt and /debug mochitests are nearly worthy of
tier 1, but still waiting for bug 1534732.
Differential Revision: https://phabricator.services.mozilla.com/D30931
--HG--
extra : moz-landing-system : lando
The semantics are that you get an empty array if the argument is not supplied,
and if [optional_argc] is used it's set accordingly so you can tell whether you
were passed explicit [] or not passed anything.
Differential Revision: https://phabricator.services.mozilla.com/D30850
--HG--
extra : moz-landing-system : lando
Fix possible race condition where an atomic field that may be concurrently modified is referenced twice in an assertion expression.
Differential Revision: https://phabricator.services.mozilla.com/D30891
--HG--
extra : moz-landing-system : lando
These function probably predate the existence of the DebuggerFrame class, and
were never moved in.
Depends on D28784
Differential Revision: https://phabricator.services.mozilla.com/D28785
--HG--
extra : moz-landing-system : lando
This function probably predates the existence of the DebuggerFrame class, and
was never moved in.
Depends on D28783
Differential Revision: https://phabricator.services.mozilla.com/D28784
--HG--
extra : moz-landing-system : lando
SpiderMonkey standard practice for classes derived from JSObject defines
ClassOps hooks as static member functions.
Depends on D28782
Differential Revision: https://phabricator.services.mozilla.com/D28783
--HG--
extra : moz-landing-system : lando
This replaces the use of heap-alloced Rooted with PersistentRooted which is safe wrt destruction order.
I had to add PersistentRooted and StackGCVector to OPAQUE_TYPES to make this work... I'm not really sure what this does.
Differential Revision: https://phabricator.services.mozilla.com/D30668
--HG--
extra : moz-landing-system : lando