vendor/v8/src/preparser-api.cc in mustang-0.0.1 vs vendor/v8/src/preparser-api.cc in mustang-0.1.0

- old
+ new

@@ -24,10 +24,11 @@ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include "../include/v8-preparser.h" + #include "globals.h" #include "checks.h" #include "allocation.h" #include "utils.h" #include "list.h" @@ -156,10 +157,13 @@ }; class StandAloneJavaScriptScanner : public JavaScriptScanner { public: + explicit StandAloneJavaScriptScanner(ScannerConstants* scanner_constants) + : JavaScriptScanner(scanner_constants) { } + void Initialize(UC16CharacterStream* source) { source_ = source; Init(); // Skip initial whitespace allowing HTML comment ends just like // after a newline and scan first token. @@ -168,11 +172,12 @@ Scan(); } }; -// Functions declared by allocation.h +// Functions declared by allocation.h and implemented in both api.cc (for v8) +// or here (for a stand-alone preparser). void FatalProcessOutOfMemory(const char* reason) { V8_Fatal(__FILE__, __LINE__, reason); } @@ -185,10 +190,11 @@ PreParserData Preparse(UnicodeInputStream* input, size_t max_stack) { internal::InputStreamUTF16Buffer buffer(input); uintptr_t stack_limit = reinterpret_cast<uintptr_t>(&buffer) - max_stack; - internal::StandAloneJavaScriptScanner scanner; + internal::ScannerConstants scanner_constants; + internal::StandAloneJavaScriptScanner scanner(&scanner_constants); scanner.Initialize(&buffer); internal::CompleteParserRecorder recorder; preparser::PreParser::PreParseResult result = preparser::PreParser::PreParseProgram(&scanner, &recorder,