Ignore:
Timestamp:
Jun 24, 2014, 12:49:25 PM (11 years ago)
Author:
Brent Fulgham
Message:

[Win] MSVC mishandles enums in bitfields
https://bugs.webkit.org/show_bug.cgi?id=134237

Reviewed by Michael Saboff.

Replace uses of enum types in bit fields with unsigned to
avoid losing a bit to hold the sign value. This can result
in Windows interpreting the value of the field improperly.

../JavaScriptCore:

  • bytecode/StructureStubInfo.h:
  • parser/Nodes.h:

../WebCore:

  • loader/ResourceLoaderOptions.h:
  • platform/network/ResourceRequestBase.h:
  • platform/network/cf/ResourceResponse.h:
  • rendering/RenderLayer.h:
  • rendering/RenderMarquee.h:
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/bytecompiler/NodesCodegen.cpp

    r167313 r170381  
    14851485    generator.emitExpressionInfo(subexpressionDivot(), subexpressionStart(), subexpressionEnd());
    14861486    RefPtr<RegisterID> value = generator.emitGetById(generator.tempDestination(dst), base.get(), m_ident);
    1487     RegisterID* updatedValue = emitReadModifyAssignment(generator, generator.finalDestination(dst, value.get()), value.get(), m_right, m_operator, OperandTypes(ResultType::unknownType(), m_right->resultDescriptor()));
     1487    RegisterID* updatedValue = emitReadModifyAssignment(generator, generator.finalDestination(dst, value.get()), value.get(), m_right, static_cast<JSC::Operator>(m_operator), OperandTypes(ResultType::unknownType(), m_right->resultDescriptor()));
    14881488
    14891489    generator.emitExpressionInfo(divot(), divotStart(), divotEnd());
     
    15221522    generator.emitExpressionInfo(subexpressionDivot(), subexpressionStart(), subexpressionEnd());
    15231523    RefPtr<RegisterID> value = generator.emitGetByVal(generator.tempDestination(dst), base.get(), property.get());
    1524     RegisterID* updatedValue = emitReadModifyAssignment(generator, generator.finalDestination(dst, value.get()), value.get(), m_right, m_operator, OperandTypes(ResultType::unknownType(), m_right->resultDescriptor()));
     1524    RegisterID* updatedValue = emitReadModifyAssignment(generator, generator.finalDestination(dst, value.get()), value.get(), m_right, static_cast<JSC::Operator>(m_operator), OperandTypes(ResultType::unknownType(), m_right->resultDescriptor()));
    15251525
    15261526    generator.emitExpressionInfo(divot(), divotStart(), divotEnd());
Note: See TracChangeset for help on using the changeset viewer.