From d7cfa4731dab5bf733b13ac4554cbee3e3b1ec27 Mon Sep 17 00:00:00 2001 From: Ted Campbell Date: Tue, 30 Oct 2018 18:01:41 +0000 Subject: [PATCH] Bug 1502481 - Use sourceStart/sourceEnd name within JSScript r=jandem Differential Revision: https://phabricator.services.mozilla.com/D9944 --HG-- extra : moz-landing-system : lando --- js/src/vm/JSScript.cpp | 27 ++++++++++++--------------- js/src/vm/JSScript.h | 4 ++-- 2 files changed, 14 insertions(+), 17 deletions(-) diff --git a/js/src/vm/JSScript.cpp b/js/src/vm/JSScript.cpp index 25cf09b207c3..1f15934cdf50 100644 --- a/js/src/vm/JSScript.cpp +++ b/js/src/vm/JSScript.cpp @@ -3242,7 +3242,8 @@ PrivateScriptData::traceChildren(JSTracer* trc) } JSScript::JSScript(JS::Realm* realm, uint8_t* stubEntry, const ReadOnlyCompileOptions& options, - HandleObject sourceObject, uint32_t bufStart, uint32_t bufEnd, + HandleObject sourceObject, + uint32_t sourceStart, uint32_t sourceEnd, uint32_t toStringStart, uint32_t toStringEnd) : #ifndef JS_CODEGEN_NONE @@ -3250,8 +3251,8 @@ JSScript::JSScript(JS::Realm* realm, uint8_t* stubEntry, const ReadOnlyCompileOp jitCodeSkipArgCheck_(stubEntry), #endif realm_(realm), - sourceStart_(bufStart), - sourceEnd_(bufEnd), + sourceStart_(sourceStart), + sourceEnd_(sourceEnd), toStringStart_(toStringStart), toStringEnd_(toStringEnd), #ifdef MOZ_VTUNE @@ -3259,13 +3260,10 @@ JSScript::JSScript(JS::Realm* realm, uint8_t* stubEntry, const ReadOnlyCompileOp #endif bitFields_{} // zeroes everything -- some fields custom-assigned below { - // bufStart and bufEnd specify the range of characters parsed by the - // Parser to produce this script. toStringStart and toStringEnd specify - // the range of characters to be returned for Function.prototype.toString. - MOZ_ASSERT(bufStart <= bufEnd); - MOZ_ASSERT(toStringStart <= toStringEnd); - MOZ_ASSERT(toStringStart <= bufStart); - MOZ_ASSERT(toStringEnd >= bufEnd); + // See JSScript.h for further details. + MOZ_ASSERT(toStringStart <= sourceStart); + MOZ_ASSERT(sourceStart <= sourceEnd); + MOZ_ASSERT(sourceEnd <= toStringEnd); bitFields_.noScriptRval_ = options.noScriptRval; bitFields_.selfHosted_ = options.selfHostingMode; @@ -3277,8 +3275,7 @@ JSScript::JSScript(JS::Realm* realm, uint8_t* stubEntry, const ReadOnlyCompileOp /* static */ JSScript* JSScript::createInitialized(JSContext* cx, const ReadOnlyCompileOptions& options, - HandleObject sourceObject, - uint32_t bufStart, uint32_t bufEnd, + HandleObject sourceObject, uint32_t sourceStart, uint32_t sourceEnd, uint32_t toStringStart, uint32_t toStringEnd) { void* script = Allocate(cx); @@ -3295,15 +3292,15 @@ JSScript::createInitialized(JSContext* cx, const ReadOnlyCompileOptions& options ; return new (script) JSScript(cx->realm(), stubEntry, options, sourceObject, - bufStart, bufEnd, toStringStart, toStringEnd); + sourceStart, sourceEnd, toStringStart, toStringEnd); } /* static */ JSScript* JSScript::Create(JSContext* cx, const ReadOnlyCompileOptions& options, - HandleObject sourceObject, uint32_t bufStart, uint32_t bufEnd, + HandleObject sourceObject, uint32_t sourceStart, uint32_t sourceEnd, uint32_t toStringStart, uint32_t toStringEnd) { - RootedScript script(cx, createInitialized(cx, options, sourceObject, bufStart, bufEnd, + RootedScript script(cx, createInitialized(cx, options, sourceObject, sourceStart, sourceEnd, toStringStart, toStringEnd)); if (!script) { return nullptr; diff --git a/js/src/vm/JSScript.h b/js/src/vm/JSScript.h index 5c30b449d3cf..c256c4925fcc 100644 --- a/js/src/vm/JSScript.h +++ b/js/src/vm/JSScript.h @@ -1812,12 +1812,12 @@ class JSScript : public js::gc::TenuredCell private: JSScript(JS::Realm* realm, uint8_t* stubEntry, const JS::ReadOnlyCompileOptions& options, - js::HandleObject sourceObject, uint32_t bufStart, uint32_t bufEnd, + js::HandleObject sourceObject, uint32_t sourceStart, uint32_t sourceEnd, uint32_t toStringStart, uint32_t toStringend); static JSScript* createInitialized(JSContext* cx, const JS::ReadOnlyCompileOptions& options, js::HandleObject sourceObject, - uint32_t bufStart, uint32_t bufEnd, + uint32_t sourceStart, uint32_t sourceEnd, uint32_t toStringStart, uint32_t toStringEnd); public: