Ignore:
Timestamp:
Oct 6, 2017, 3:12:41 PM (8 years ago)
Author:
Ryan Haddad
Message:

Unreviewed, rolling out r222791 and r222873.
https://bugs.webkit.org/show_bug.cgi?id=178031

Caused crashes with workers/wasm LayoutTests (Requested by
ryanhaddad on #webkit).

Reverted changesets:

"WebAssembly: no VM / JS version of everything but Instance"
https://bugs.webkit.org/show_bug.cgi?id=177473
http://trac.webkit.org/changeset/222791

"WebAssembly: address no VM / JS follow-ups"
https://bugs.webkit.org/show_bug.cgi?id=177887
http://trac.webkit.org/changeset/222873

Patch by Commit Queue <[email protected]> on 2017-10-06

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/interpreter/CallFrame.cpp

    r222791 r223002  
    11/*
    2  * Copyright (C) 2008-2017 Apple Inc. All Rights Reserved.
     2 * Copyright (C) 2008, 2013-2014, 2016 Apple Inc. All Rights Reserved.
    33 *
    44 * Redistribution and use in source and binary forms, with or without
     
    3131#include "Interpreter.h"
    3232#include "JSCInlines.h"
    33 #include "JSWebAssemblyInstance.h"
    3433#include "VMEntryScope.h"
    3534#include "WasmContext.h"
     
    219218    if (!callee().isWasm())
    220219        return lexicalGlobalObject();
    221     return vm.wasmContext.load()->globalObject();
     220    return Wasm::loadContext(vm)->globalObject();
    222221#else
    223222    UNUSED_PARAM(vm);
     
    239238}
    240239
    241 CallFrame* CallFrame::callerFrame(EntryFrame*& currEntryFrame)
    242 {
    243     if (callerFrameOrEntryFrame() == currEntryFrame) {
    244         VMEntryRecord* currVMEntryRecord = vmEntryRecord(currEntryFrame);
    245         currEntryFrame = currVMEntryRecord->prevTopEntryFrame();
     240CallFrame* CallFrame::callerFrame(VMEntryFrame*& currVMEntryFrame)
     241{
     242    if (callerFrameOrVMEntryFrame() == currVMEntryFrame) {
     243        VMEntryRecord* currVMEntryRecord = vmEntryRecord(currVMEntryFrame);
     244        currVMEntryFrame = currVMEntryRecord->prevTopVMEntryFrame();
    246245        return currVMEntryRecord->prevTopCallFrame();
    247246    }
    248     return static_cast<CallFrame*>(callerFrameOrEntryFrame());
    249 }
    250 
    251 SUPPRESS_ASAN CallFrame* CallFrame::unsafeCallerFrame(EntryFrame*& currEntryFrame)
    252 {
    253     if (unsafeCallerFrameOrEntryFrame() == currEntryFrame) {
    254         VMEntryRecord* currVMEntryRecord = vmEntryRecord(currEntryFrame);
    255         currEntryFrame = currVMEntryRecord->unsafePrevTopEntryFrame();
     247    return static_cast<CallFrame*>(callerFrameOrVMEntryFrame());
     248}
     249
     250SUPPRESS_ASAN CallFrame* CallFrame::unsafeCallerFrame(VMEntryFrame*& currVMEntryFrame)
     251{
     252    if (unsafeCallerFrameOrVMEntryFrame() == currVMEntryFrame) {
     253        VMEntryRecord* currVMEntryRecord = vmEntryRecord(currVMEntryFrame);
     254        currVMEntryFrame = currVMEntryRecord->unsafePrevTopVMEntryFrame();
    256255        return currVMEntryRecord->unsafePrevTopCallFrame();
    257256    }
    258     return static_cast<CallFrame*>(unsafeCallerFrameOrEntryFrame());
     257    return static_cast<CallFrame*>(unsafeCallerFrameOrVMEntryFrame());
    259258}
    260259
Note: See TracChangeset for help on using the changeset viewer.