Ignore:
Timestamp:
Aug 11, 2016, 6:33:48 PM (9 years ago)
Author:
[email protected]
Message:

[JSC] Make B3 Return opcode work without arguments
https://bugs.webkit.org/show_bug.cgi?id=160787

Patch by Benjamin Poulain <[email protected]> on 2016-08-11
Reviewed by Keith Miller.

We need a way to create functions that do not return values.

  • assembler/MacroAssembler.h:

(JSC::MacroAssembler::retVoid):

  • b3/B3BasicBlock.cpp:

(JSC::B3::BasicBlock::appendNewControlValue):

  • b3/B3LowerToAir.cpp:

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

  • b3/B3Validate.cpp:
  • b3/B3Value.h:
  • b3/air/AirOpcode.opcodes:
  • b3/testb3.cpp:

(JSC::B3::testReturnVoid):
(JSC::B3::run):

File:
1 edited

Legend:

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

    r203413 r204402  
    167167Value* BasicBlock::appendNewControlValue(Procedure& proc, Opcode opcode, Origin origin)
    168168{
    169     RELEASE_ASSERT(opcode == Oops);
     169    RELEASE_ASSERT(opcode == Oops || opcode == Return);
    170170    clearSuccessors();
    171171    return appendNew<Value>(proc, opcode, origin);
Note: See TracChangeset for help on using the changeset viewer.