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/testb3.cpp

    r215407 r215533  
    1517115171    proc.pinRegister(pinned);
    1517215172
    15173     proc.setWasmBoundsCheckGenerator([=] (CCallHelpers& jit, GPRReg pinnedGPR, unsigned actualOffset) {
     15173    proc.setWasmBoundsCheckGenerator([=] (CCallHelpers& jit, GPRReg pinnedGPR) {
    1517415174        CHECK_EQ(pinnedGPR, pinned);
    15175         CHECK_EQ(actualOffset, offset);
    1517615175
    1517715176        // This should always work because a function this simple should never have callee
     
    1518615185    if (pointerType() != Int32)
    1518715186        left = root->appendNew<Value>(proc, Trunc, Origin(), left);
    15188     Wasm::PageCount maximum;
    15189     root->appendNew<WasmBoundsCheckValue>(proc, Origin(), left, pinned, offset, maximum);
     15187    root->appendNew<WasmBoundsCheckValue>(proc, Origin(), left, pinned, offset);
    1519015188    Value* result = root->appendNew<Const32Value>(proc, Origin(), 0x42);
    1519115189    root->appendNewControlValue(proc, Return, Origin(), result);
Note: See TracChangeset for help on using the changeset viewer.