Ignore:
Timestamp:
Apr 19, 2017, 3:05:51 PM (8 years ago)
Author:
[email protected]
Message:

WebAssembly: fast memory cleanups
https://bugs.webkit.org/show_bug.cgi?id=170909

Reviewed by Saam Barati.

  • b3/B3LowerToAir.cpp: correct comment, and make wasm-independent

(JSC::B3::Air::LowerToAir::lower):

  • b3/B3Procedure.h:
  • b3/B3Validate.cpp:
  • b3/B3Value.cpp:

(JSC::B3::Value::effects):

  • b3/B3WasmBoundsCheckValue.cpp: have the creator pass in a

maximum, so we don't have to know so much about wasm here
(JSC::B3::WasmBoundsCheckValue::WasmBoundsCheckValue):
(JSC::B3::WasmBoundsCheckValue::cloneImpl):
(JSC::B3::WasmBoundsCheckValue::dumpMeta):

  • b3/B3WasmBoundsCheckValue.h:

(JSC::B3::WasmBoundsCheckValue::boundsType):
(JSC::B3::WasmBoundsCheckValue::bounds):

  • b3/air/AirCode.h:
  • b3/air/AirCustom.h:

(JSC::B3::Air::WasmBoundsCheckCustom::generate):

  • b3/testb3.cpp:

(JSC::B3::testWasmBoundsCheck):

  • wasm/WasmB3IRGenerator.cpp:

(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::emitCheckAndPreparePointer):
(JSC::Wasm::createJSToWasmWrapper): remove dead code

  • wasm/WasmMemory.cpp: don't GC if no memory could possibly be free'd

(JSC::Wasm::Memory::initializePreallocations): verbose-only code,
and copy-pasta bug

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/b3/B3Validate.cpp

    r215340 r215533  
    471471                VALIDATE(value->numChildren() == 1, ("At ", *value));
    472472                VALIDATE(value->child(0)->type() == Int32, ("At ", *value));
    473                 if (value->as<WasmBoundsCheckValue>()->pinnedGPR() != InvalidGPRReg)
    474                     VALIDATE(m_procedure.code().isPinned(value->as<WasmBoundsCheckValue>()->pinnedGPR()), ("At ", *value));
     473                switch (value->as<WasmBoundsCheckValue>()->boundsType()) {
     474                case WasmBoundsCheckValue::Type::Pinned:
     475                    VALIDATE(m_procedure.code().isPinned(value->as<WasmBoundsCheckValue>()->bounds().pinned), ("At ", *value));
     476                    break;
     477                case WasmBoundsCheckValue::Type::Maximum:
     478                    break;
     479                }
    475480                VALIDATE(m_procedure.code().wasmBoundsCheckGenerator(), ("At ", *value));
    476481                break;
Note: See TracChangeset for help on using the changeset viewer.