Changeset 34964 in webkit for trunk/JavaScriptCore/VM/Machine.h


Ignore:
Timestamp:
Jul 2, 2008, 5:47:00 PM (17 years ago)
Author:
[email protected]
Message:

2008-07-02 Geoffrey Garen <[email protected]>

Reviewed by Oliver Hunt.

Optimized a[n] get for cases where a is an array or a string, and a[n]
put for cases where a is an array.


SunSpider says 9.0% faster.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/VM/Machine.h

    r34907 r34964  
    3030#define Machine_h
    3131
     32#include "JSCell.h"
     33#include "JSValue.h"
    3234#include "Opcode.h"
    3335#include "RegisterFile.h"
     
    141143        void resetTimeoutCheck();
    142144
     145        bool isJSArray(JSValue* v) { return !JSImmediate::isImmediate(v) && v->asCell()->vptr() == m_jsArrayVptr; }
     146        bool isJSString(JSValue* v) { return !JSImmediate::isImmediate(v) && v->asCell()->vptr() == m_jsStringVptr; }
     147       
    143148        int m_reentryDepth;
    144149        unsigned m_timeoutTime;
     
    149154
    150155        RegisterFile m_registerFile;
     156       
     157        void* m_jsArrayVptr;
     158        void* m_jsStringVptr;
    151159
    152160#if HAVE(COMPUTED_GOTO)
Note: See TracChangeset for help on using the changeset viewer.