mirror of
https://github.com/classilla/tenfourfox.git
synced 2025-01-17 08:30:05 +00:00
#478: M1437507 M1437450
This commit is contained in:
parent
0ba5d5dad1
commit
21688e7ca8
@ -1824,6 +1824,12 @@ jit::ApplyTypeInformation(MIRGenerator* mir, MIRGraph& graph)
|
||||
bool
|
||||
jit::MakeMRegExpHoistable(MIRGraph& graph)
|
||||
{
|
||||
// If we are compiling try blocks, regular expressions may be observable
|
||||
// from catch blocks (which Ion does not compile). For now just disable the
|
||||
// pass in this case.
|
||||
if (graph.hasTryBlock())
|
||||
return true;
|
||||
|
||||
for (ReversePostorderIterator block(graph.rpoBegin()); block != graph.rpoEnd(); block++) {
|
||||
for (MDefinitionIterator iter(*block); iter; iter++) {
|
||||
if (!iter->isRegExp())
|
||||
|
@ -1124,6 +1124,10 @@ JSObject::setFlags(ExclusiveContext* cx, BaseShape::Flag flags, GenerateShape ge
|
||||
|
||||
RootedObject self(cx, this);
|
||||
|
||||
Shape* existingShape = self->ensureShape(cx);
|
||||
if (!existingShape)
|
||||
return false;
|
||||
|
||||
if (isNative() && as<NativeObject>().inDictionaryMode()) {
|
||||
if (generateShape == GENERATE_SHAPE && !as<NativeObject>().generateOwnShape(cx))
|
||||
return false;
|
||||
@ -1137,10 +1141,6 @@ JSObject::setFlags(ExclusiveContext* cx, BaseShape::Flag flags, GenerateShape ge
|
||||
return true;
|
||||
}
|
||||
|
||||
Shape* existingShape = self->ensureShape(cx);
|
||||
if (!existingShape)
|
||||
return false;
|
||||
|
||||
Shape* newShape = Shape::setObjectFlags(cx, flags, self->getTaggedProto(), existingShape);
|
||||
if (!newShape)
|
||||
return false;
|
||||
|
Loading…
x
Reference in New Issue
Block a user