Ignore:
Timestamp:
Dec 1, 2015, 5:37:19 PM (10 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r192914.
https://bugs.webkit.org/show_bug.cgi?id=151734

JSC tests for this change are failing on 32 and 64-bit bots
(Requested by ryanhaddad on #webkit).

Reverted changeset:

"[ES6] Implement LLInt/Baseline Support for ES6 Generators and
enable this feature"
https://bugs.webkit.org/show_bug.cgi?id=150792
http://trac.webkit.org/changeset/192914

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/runtime/CommonSlowPaths.cpp

    r192914 r192935  
    3535#include "ErrorHandlingScope.h"
    3636#include "ExceptionFuzz.h"
    37 #include "GeneratorFrame.h"
    3837#include "GetterSetter.h"
    3938#include "HostCallReturnValue.h"
     
    646645}
    647646
    648 SLOW_PATH_DECL(slow_path_save)
    649 {
    650     // Only save variables and temporary registers. The scope registers are included in them.
    651     // But parameters are not included. Because the generator implementation replaces the values of parameters on each generator.next() call.
    652     BEGIN();
    653     JSValue generator = OP(1).jsValue();
    654     GeneratorFrame* frame = nullptr;
    655     JSValue value = generator.get(exec, exec->propertyNames().generatorFramePrivateName);
    656     if (!value.isNull())
    657         frame = jsCast<GeneratorFrame*>(value);
    658     else {
    659         // FIXME: Once JSGenerator specialized object is introduced, this GeneratorFrame should be embeded into it to avoid allocations.
    660         // https://bugs.webkit.org/show_bug.cgi?id=151545
    661         frame = GeneratorFrame::create(exec->vm(),  exec->codeBlock()->numCalleeLocals());
    662         PutPropertySlot slot(generator, true, PutPropertySlot::PutById);
    663         asObject(generator)->methodTable(exec->vm())->put(asObject(generator), exec, exec->propertyNames().generatorFramePrivateName, frame, slot);
    664     }
    665     unsigned liveCalleeLocalsIndex = pc[2].u.unsignedValue;
    666     frame->save(exec, exec->codeBlock()->liveCalleeLocalsAtYield(liveCalleeLocalsIndex));
    667     END();
    668 }
    669 
    670 SLOW_PATH_DECL(slow_path_resume)
    671 {
    672     BEGIN();
    673     JSValue generator = OP(1).jsValue();
    674     GeneratorFrame* frame = jsCast<GeneratorFrame*>(generator.get(exec, exec->propertyNames().generatorFramePrivateName));
    675     unsigned liveCalleeLocalsIndex = pc[2].u.unsignedValue;
    676     frame->resume(exec, exec->codeBlock()->liveCalleeLocalsAtYield(liveCalleeLocalsIndex));
    677     END();
    678 }
    679 
    680647SLOW_PATH_DECL(slow_path_create_lexical_environment)
    681648{
Note: See TracChangeset for help on using the changeset viewer.