Ignore:
Timestamp:
Aug 18, 2002, 12:21:26 AM (23 years ago)
Author:
mjs
Message:

Separated Completion from Value and made it a pure stack
object. This removed another 160,000 of the remaining 580,000
garbage collected object allocations.

6% speed increas on cvs-js-performance test.

  • kjs/completion.cpp: Added. New implementation that doesn't require a ValueImp *. (Completion::Completion): (Completion::complType): (Completion::value): (Completion::target): (Completion::isValueCompletion):
  • kjs/completion.h: Added.
  • kjs/function.cpp: (GlobalFuncImp::call): Removed some (apparently mistaken) uses of Completion as a Value.
  • kjs/internal.cpp:
  • kjs/internal.h:
  • kjs/types.cpp: Removed Completion stuff.
  • kjs/types.h: Removed Completion stuff.
  • JavaScriptCore.pbproj/project.pbxproj: Added new header.
File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/kjs/function.cpp

    r1799 r1859  
    417417          delete progNode;
    418418      if (c.complType() == ReturnValue)
    419           return c;
     419          return c.value();
    420420      // ### setException() on throw?
    421421      else if (c.complType() == Normal) {
     
    425425              return Undefined();
    426426      } else {
    427           return c;
     427          return Undefined();
    428428      }
    429429    }
Note: See TracChangeset for help on using the changeset viewer.