Changeset 43103 in webkit for trunk/JavaScriptCore


Ignore:
Timestamp:
Apr 30, 2009, 3:58:21 PM (16 years ago)
Author:
[email protected]
Message:

2009-04-30 Geoffrey Garen <[email protected]>

Rubber Stamped by Gavin Barraclough.


Changed JSValueEncodedAsPtr* => EncodedJSValuePtr to support a non-pointer
encoding for JSValuePtrs.

  • API/APICast.h: (toJS):
  • bytecompiler/BytecodeGenerator.h: (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue): (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
  • interpreter/Register.h: (JSC::Register::):
  • jit/JIT.cpp: (JSC::):
  • jit/JIT.h:
  • jit/JITCode.h: (JSC::):
  • jit/JITStubs.cpp: (JSC::JITStubs::cti_op_add): (JSC::JITStubs::cti_op_pre_inc): (JSC::JITStubs::cti_op_get_by_id_generic): (JSC::JITStubs::cti_op_get_by_id): (JSC::JITStubs::cti_op_get_by_id_second): (JSC::JITStubs::cti_op_get_by_id_self_fail): (JSC::JITStubs::cti_op_get_by_id_proto_list): (JSC::JITStubs::cti_op_get_by_id_proto_list_full): (JSC::JITStubs::cti_op_get_by_id_proto_fail): (JSC::JITStubs::cti_op_get_by_id_array_fail): (JSC::JITStubs::cti_op_get_by_id_string_fail): (JSC::JITStubs::cti_op_instanceof): (JSC::JITStubs::cti_op_del_by_id): (JSC::JITStubs::cti_op_mul): (JSC::JITStubs::cti_op_call_NotJSFunction): (JSC::JITStubs::cti_op_resolve): (JSC::JITStubs::cti_op_construct_NotJSConstruct): (JSC::JITStubs::cti_op_get_by_val): (JSC::JITStubs::cti_op_get_by_val_string): (JSC::JITStubs::cti_op_get_by_val_byte_array): (JSC::JITStubs::cti_op_sub): (JSC::JITStubs::cti_op_lesseq): (JSC::JITStubs::cti_op_negate): (JSC::JITStubs::cti_op_resolve_base): (JSC::JITStubs::cti_op_resolve_skip): (JSC::JITStubs::cti_op_resolve_global): (JSC::JITStubs::cti_op_div): (JSC::JITStubs::cti_op_pre_dec): (JSC::JITStubs::cti_op_not): (JSC::JITStubs::cti_op_eq): (JSC::JITStubs::cti_op_lshift): (JSC::JITStubs::cti_op_bitand): (JSC::JITStubs::cti_op_rshift): (JSC::JITStubs::cti_op_bitnot): (JSC::JITStubs::cti_op_mod): (JSC::JITStubs::cti_op_less): (JSC::JITStubs::cti_op_neq): (JSC::JITStubs::cti_op_urshift): (JSC::JITStubs::cti_op_bitxor): (JSC::JITStubs::cti_op_bitor): (JSC::JITStubs::cti_op_call_eval): (JSC::JITStubs::cti_op_throw): (JSC::JITStubs::cti_op_next_pname): (JSC::JITStubs::cti_op_typeof): (JSC::JITStubs::cti_op_is_undefined): (JSC::JITStubs::cti_op_is_boolean): (JSC::JITStubs::cti_op_is_number): (JSC::JITStubs::cti_op_is_string): (JSC::JITStubs::cti_op_is_object): (JSC::JITStubs::cti_op_is_function): (JSC::JITStubs::cti_op_stricteq): (JSC::JITStubs::cti_op_nstricteq): (JSC::JITStubs::cti_op_to_jsnumber): (JSC::JITStubs::cti_op_in): (JSC::JITStubs::cti_op_del_by_val): (JSC::JITStubs::cti_vm_throw):
  • jit/JITStubs.h:
  • runtime/JSValue.h: (JSC::JSValuePtr::encode): (JSC::JSValuePtr::decode):
Location:
trunk/JavaScriptCore
Files:
10 edited

Legend:

Unmodified
Added
Removed
  • trunk/JavaScriptCore/API/APICast.h

    r39769 r43103  
    5858inline JSC::JSValuePtr toJS(JSValueRef v)
    5959{
    60     return JSC::JSValuePtr::decode(reinterpret_cast<JSC::JSValueEncodedAsPointer*>(const_cast<OpaqueJSValue*>(v)));
     60    return JSC::JSValuePtr::decode(reinterpret_cast<JSC::EncodedJSValuePtr>(const_cast<OpaqueJSValue*>(v)));
    6161}
    6262
  • trunk/JavaScriptCore/ChangeLog

    r43100 r43103  
     12009-04-30  Geoffrey Garen  <[email protected]>
     2
     3        Rubber Stamped by Gavin Barraclough.
     4       
     5        Changed JSValueEncodedAsPtr* => EncodedJSValuePtr to support a non-pointer
     6        encoding for JSValuePtrs.
     7
     8        * API/APICast.h:
     9        (toJS):
     10        * bytecompiler/BytecodeGenerator.h:
     11        (JSC::BytecodeGenerator::JSValueHashTraits::constructDeletedValue):
     12        (JSC::BytecodeGenerator::JSValueHashTraits::isDeletedValue):
     13        * interpreter/Register.h:
     14        (JSC::Register::):
     15        * jit/JIT.cpp:
     16        (JSC::):
     17        * jit/JIT.h:
     18        * jit/JITCode.h:
     19        (JSC::):
     20        * jit/JITStubs.cpp:
     21        (JSC::JITStubs::cti_op_add):
     22        (JSC::JITStubs::cti_op_pre_inc):
     23        (JSC::JITStubs::cti_op_get_by_id_generic):
     24        (JSC::JITStubs::cti_op_get_by_id):
     25        (JSC::JITStubs::cti_op_get_by_id_second):
     26        (JSC::JITStubs::cti_op_get_by_id_self_fail):
     27        (JSC::JITStubs::cti_op_get_by_id_proto_list):
     28        (JSC::JITStubs::cti_op_get_by_id_proto_list_full):
     29        (JSC::JITStubs::cti_op_get_by_id_proto_fail):
     30        (JSC::JITStubs::cti_op_get_by_id_array_fail):
     31        (JSC::JITStubs::cti_op_get_by_id_string_fail):
     32        (JSC::JITStubs::cti_op_instanceof):
     33        (JSC::JITStubs::cti_op_del_by_id):
     34        (JSC::JITStubs::cti_op_mul):
     35        (JSC::JITStubs::cti_op_call_NotJSFunction):
     36        (JSC::JITStubs::cti_op_resolve):
     37        (JSC::JITStubs::cti_op_construct_NotJSConstruct):
     38        (JSC::JITStubs::cti_op_get_by_val):
     39        (JSC::JITStubs::cti_op_get_by_val_string):
     40        (JSC::JITStubs::cti_op_get_by_val_byte_array):
     41        (JSC::JITStubs::cti_op_sub):
     42        (JSC::JITStubs::cti_op_lesseq):
     43        (JSC::JITStubs::cti_op_negate):
     44        (JSC::JITStubs::cti_op_resolve_base):
     45        (JSC::JITStubs::cti_op_resolve_skip):
     46        (JSC::JITStubs::cti_op_resolve_global):
     47        (JSC::JITStubs::cti_op_div):
     48        (JSC::JITStubs::cti_op_pre_dec):
     49        (JSC::JITStubs::cti_op_not):
     50        (JSC::JITStubs::cti_op_eq):
     51        (JSC::JITStubs::cti_op_lshift):
     52        (JSC::JITStubs::cti_op_bitand):
     53        (JSC::JITStubs::cti_op_rshift):
     54        (JSC::JITStubs::cti_op_bitnot):
     55        (JSC::JITStubs::cti_op_mod):
     56        (JSC::JITStubs::cti_op_less):
     57        (JSC::JITStubs::cti_op_neq):
     58        (JSC::JITStubs::cti_op_urshift):
     59        (JSC::JITStubs::cti_op_bitxor):
     60        (JSC::JITStubs::cti_op_bitor):
     61        (JSC::JITStubs::cti_op_call_eval):
     62        (JSC::JITStubs::cti_op_throw):
     63        (JSC::JITStubs::cti_op_next_pname):
     64        (JSC::JITStubs::cti_op_typeof):
     65        (JSC::JITStubs::cti_op_is_undefined):
     66        (JSC::JITStubs::cti_op_is_boolean):
     67        (JSC::JITStubs::cti_op_is_number):
     68        (JSC::JITStubs::cti_op_is_string):
     69        (JSC::JITStubs::cti_op_is_object):
     70        (JSC::JITStubs::cti_op_is_function):
     71        (JSC::JITStubs::cti_op_stricteq):
     72        (JSC::JITStubs::cti_op_nstricteq):
     73        (JSC::JITStubs::cti_op_to_jsnumber):
     74        (JSC::JITStubs::cti_op_in):
     75        (JSC::JITStubs::cti_op_del_by_val):
     76        (JSC::JITStubs::cti_vm_throw):
     77        * jit/JITStubs.h:
     78        * runtime/JSValue.h:
     79        (JSC::JSValuePtr::encode):
     80        (JSC::JSValuePtr::decode):
     81
    1822009-04-30  Gavin Barraclough  <[email protected]>
    283
  • trunk/JavaScriptCore/bytecompiler/BytecodeGenerator.h

    r42574 r43103  
    351351        PassRefPtr<Label> emitComplexJumpScopes(Label* target, ControlFlowContext* topScope, ControlFlowContext* bottomScope);
    352352
    353         struct JSValueHashTraits : HashTraits<JSValueEncodedAsPointer*> {
    354             static void constructDeletedValue(JSValueEncodedAsPointer*& slot) { slot = JSValuePtr::encode(jsImpossibleValue()); }
    355             static bool isDeletedValue(JSValueEncodedAsPointer* value) { return value == JSValuePtr::encode(jsImpossibleValue()); }
     353        struct JSValueHashTraits : HashTraits<EncodedJSValuePtr> {
     354            static void constructDeletedValue(EncodedJSValuePtr& slot) { slot = JSValuePtr::encode(jsImpossibleValue()); }
     355            static bool isDeletedValue(EncodedJSValuePtr value) { return value == JSValuePtr::encode(jsImpossibleValue()); }
    356356        };
    357357
    358         typedef HashMap<JSValueEncodedAsPointer*, unsigned, PtrHash<JSValueEncodedAsPointer*>, JSValueHashTraits> JSValueMap;
     358        typedef HashMap<EncodedJSValuePtr, unsigned, PtrHash<EncodedJSValuePtr>, JSValueHashTraits> JSValueMap;
    359359
    360360        struct IdentifierMapIndexHashTraits {
  • trunk/JavaScriptCore/interpreter/Register.h

    r42989 r43103  
    9090            intptr_t i;
    9191            void* v;
    92             JSValueEncodedAsPointer* value;
     92            EncodedJSValuePtr value;
    9393
    9494            JSActivation* activation;
  • trunk/JavaScriptCore/jit/JIT.cpp

    r42337 r43103  
    157157extern "C" {
    158158   
    159     __declspec(naked) JSValueEncodedAsPointer* ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValuePtr* exception, Profiler**, JSGlobalData*)
     159    __declspec(naked) EncodedJSValuePtr ctiTrampoline(void* code, RegisterFile*, CallFrame*, JSValuePtr* exception, Profiler**, JSGlobalData*)
    160160    {
    161161        __asm {
  • trunk/JavaScriptCore/jit/JIT.h

    r42337 r43103  
    6565#define ARG_setCallFrame(newCallFrame) (ARGS[STUB_ARGS_callFrame] = (newCallFrame))
    6666
    67 #define ARG_src1 JSValuePtr::decode(static_cast<JSValueEncodedAsPointer*>(ARGS[1]))
    68 #define ARG_src2 JSValuePtr::decode(static_cast<JSValueEncodedAsPointer*>(ARGS[2]))
    69 #define ARG_src3 JSValuePtr::decode(static_cast<JSValueEncodedAsPointer*>(ARGS[3]))
    70 #define ARG_src4 JSValuePtr::decode(static_cast<JSValueEncodedAsPointer*>(ARGS[4]))
    71 #define ARG_src5 JSValuePtr::decode(static_cast<JSValueEncodedAsPointer*>(ARGS[5]))
     67#define ARG_src1 JSValuePtr::decode(static_cast<EncodedJSValuePtr>(ARGS[1]))
     68#define ARG_src2 JSValuePtr::decode(static_cast<EncodedJSValuePtr>(ARGS[2]))
     69#define ARG_src3 JSValuePtr::decode(static_cast<EncodedJSValuePtr>(ARGS[3]))
     70#define ARG_src4 JSValuePtr::decode(static_cast<EncodedJSValuePtr>(ARGS[4]))
     71#define ARG_src5 JSValuePtr::decode(static_cast<EncodedJSValuePtr>(ARGS[5]))
    7272#define ARG_id1 static_cast<Identifier*>(ARGS[1])
    7373#define ARG_id2 static_cast<Identifier*>(ARGS[2])
     
    107107    struct StructureStubInfo;
    108108
    109     typedef JSValueEncodedAsPointer* (JIT_STUB *CTIHelper_j)(STUB_ARGS);
    110109    typedef JSObject* (JIT_STUB *CTIHelper_o)(STUB_ARGS);
    111110    typedef JSPropertyNameIterator* (JIT_STUB *CTIHelper_p)(STUB_ARGS);
     
    530529        Call emitNakedCall(void* function);
    531530        Call emitCTICall_internal(void*);
    532         Call emitCTICall(CTIHelper_j helper) { return emitCTICall_internal(reinterpret_cast<void*>(helper)); }
    533531        Call emitCTICall(CTIHelper_o helper) { return emitCTICall_internal(reinterpret_cast<void*>(helper)); }
    534532        Call emitCTICall(CTIHelper_p helper) { return emitCTICall_internal(reinterpret_cast<void*>(helper)); }
  • trunk/JavaScriptCore/jit/JITCode.h

    r40813 r43103  
    4141
    4242    extern "C" {
    43         JSValueEncodedAsPointer* ctiTrampoline(
     43        EncodedJSValuePtr ctiTrampoline(
    4444#if PLATFORM(X86_64)
    4545            // FIXME: (bug #22910) this will force all arguments onto the stack (regparm(0) does not appear to have any effect).
  • trunk/JavaScriptCore/jit/JITStubs.cpp

    r42989 r43103  
    336336}
    337337
    338 JSValueEncodedAsPointer* JITStubs::cti_op_add(STUB_ARGS)
     338EncodedJSValuePtr JITStubs::cti_op_add(STUB_ARGS)
    339339{
    340340    BEGIN_STUB_FUNCTION();
     
    381381}
    382382
    383 JSValueEncodedAsPointer* JITStubs::cti_op_pre_inc(STUB_ARGS)
     383EncodedJSValuePtr JITStubs::cti_op_pre_inc(STUB_ARGS)
    384384{
    385385    BEGIN_STUB_FUNCTION();
     
    464464}
    465465
    466 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_generic(STUB_ARGS)
     466EncodedJSValuePtr JITStubs::cti_op_get_by_id_generic(STUB_ARGS)
    467467{
    468468    BEGIN_STUB_FUNCTION();
     
    519519}
    520520
    521 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id(STUB_ARGS)
     521EncodedJSValuePtr JITStubs::cti_op_get_by_id(STUB_ARGS)
    522522{
    523523    BEGIN_STUB_FUNCTION();
     
    536536}
    537537
    538 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_second(STUB_ARGS)
     538EncodedJSValuePtr JITStubs::cti_op_get_by_id_second(STUB_ARGS)
    539539{
    540540    BEGIN_STUB_FUNCTION();
     
    553553}
    554554
    555 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_self_fail(STUB_ARGS)
     555EncodedJSValuePtr JITStubs::cti_op_get_by_id_self_fail(STUB_ARGS)
    556556{
    557557    BEGIN_STUB_FUNCTION();
     
    628628}
    629629
    630 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_proto_list(STUB_ARGS)
     630EncodedJSValuePtr JITStubs::cti_op_get_by_id_proto_list(STUB_ARGS)
    631631{
    632632    BEGIN_STUB_FUNCTION();
     
    680680}
    681681
    682 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_proto_list_full(STUB_ARGS)
     682EncodedJSValuePtr JITStubs::cti_op_get_by_id_proto_list_full(STUB_ARGS)
    683683{
    684684    BEGIN_STUB_FUNCTION();
     
    692692}
    693693
    694 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_proto_fail(STUB_ARGS)
     694EncodedJSValuePtr JITStubs::cti_op_get_by_id_proto_fail(STUB_ARGS)
    695695{
    696696    BEGIN_STUB_FUNCTION();
     
    704704}
    705705
    706 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_array_fail(STUB_ARGS)
     706EncodedJSValuePtr JITStubs::cti_op_get_by_id_array_fail(STUB_ARGS)
    707707{
    708708    BEGIN_STUB_FUNCTION();
     
    716716}
    717717
    718 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_id_string_fail(STUB_ARGS)
     718EncodedJSValuePtr JITStubs::cti_op_get_by_id_string_fail(STUB_ARGS)
    719719{
    720720    BEGIN_STUB_FUNCTION();
     
    730730#endif
    731731
    732 JSValueEncodedAsPointer* JITStubs::cti_op_instanceof(STUB_ARGS)
     732EncodedJSValuePtr JITStubs::cti_op_instanceof(STUB_ARGS)
    733733{
    734734    BEGIN_STUB_FUNCTION();
     
    773773}
    774774
    775 JSValueEncodedAsPointer* JITStubs::cti_op_del_by_id(STUB_ARGS)
     775EncodedJSValuePtr JITStubs::cti_op_del_by_id(STUB_ARGS)
    776776{
    777777    BEGIN_STUB_FUNCTION();
     
    786786}
    787787
    788 JSValueEncodedAsPointer* JITStubs::cti_op_mul(STUB_ARGS)
     788EncodedJSValuePtr JITStubs::cti_op_mul(STUB_ARGS)
    789789{
    790790    BEGIN_STUB_FUNCTION();
     
    913913}
    914914
    915 JSValueEncodedAsPointer* JITStubs::cti_op_call_NotJSFunction(STUB_ARGS)
     915EncodedJSValuePtr JITStubs::cti_op_call_NotJSFunction(STUB_ARGS)
    916916{
    917917    BEGIN_STUB_FUNCTION();
     
    10281028}
    10291029
    1030 JSValueEncodedAsPointer* JITStubs::cti_op_resolve(STUB_ARGS)
     1030EncodedJSValuePtr JITStubs::cti_op_resolve(STUB_ARGS)
    10311031{
    10321032    BEGIN_STUB_FUNCTION();
     
    10731073}
    10741074
    1075 JSValueEncodedAsPointer* JITStubs::cti_op_construct_NotJSConstruct(STUB_ARGS)
     1075EncodedJSValuePtr JITStubs::cti_op_construct_NotJSConstruct(STUB_ARGS)
    10761076{
    10771077    BEGIN_STUB_FUNCTION();
     
    11071107}
    11081108
    1109 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_val(STUB_ARGS)
     1109EncodedJSValuePtr JITStubs::cti_op_get_by_val(STUB_ARGS)
    11101110{
    11111111    BEGIN_STUB_FUNCTION();
     
    11461146}
    11471147   
    1148     JSValueEncodedAsPointer* JITStubs::cti_op_get_by_val_string(STUB_ARGS)
     1148    EncodedJSValuePtr JITStubs::cti_op_get_by_val_string(STUB_ARGS)
    11491149    {
    11501150        BEGIN_STUB_FUNCTION();
     
    11771177   
    11781178
    1179 JSValueEncodedAsPointer* JITStubs::cti_op_get_by_val_byte_array(STUB_ARGS)
     1179EncodedJSValuePtr JITStubs::cti_op_get_by_val_byte_array(STUB_ARGS)
    11801180{
    11811181    BEGIN_STUB_FUNCTION();
     
    12501250}
    12511251
    1252 JSValueEncodedAsPointer* JITStubs::cti_op_sub(STUB_ARGS)
     1252EncodedJSValuePtr JITStubs::cti_op_sub(STUB_ARGS)
    12531253{
    12541254    BEGIN_STUB_FUNCTION();
     
    13861386}
    13871387
    1388 JSValueEncodedAsPointer* JITStubs::cti_op_lesseq(STUB_ARGS)
     1388EncodedJSValuePtr JITStubs::cti_op_lesseq(STUB_ARGS)
    13891389{
    13901390    BEGIN_STUB_FUNCTION();
     
    14691469}
    14701470
    1471 JSValueEncodedAsPointer* JITStubs::cti_op_negate(STUB_ARGS)
     1471EncodedJSValuePtr JITStubs::cti_op_negate(STUB_ARGS)
    14721472{
    14731473    BEGIN_STUB_FUNCTION();
     
    14851485}
    14861486
    1487 JSValueEncodedAsPointer* JITStubs::cti_op_resolve_base(STUB_ARGS)
     1487EncodedJSValuePtr JITStubs::cti_op_resolve_base(STUB_ARGS)
    14881488{
    14891489    BEGIN_STUB_FUNCTION();
     
    14921492}
    14931493
    1494 JSValueEncodedAsPointer* JITStubs::cti_op_resolve_skip(STUB_ARGS)
     1494EncodedJSValuePtr JITStubs::cti_op_resolve_skip(STUB_ARGS)
    14951495{
    14961496    BEGIN_STUB_FUNCTION();
     
    15251525}
    15261526
    1527 JSValueEncodedAsPointer* JITStubs::cti_op_resolve_global(STUB_ARGS)
     1527EncodedJSValuePtr JITStubs::cti_op_resolve_global(STUB_ARGS)
    15281528{
    15291529    BEGIN_STUB_FUNCTION();
     
    15571557}
    15581558
    1559 JSValueEncodedAsPointer* JITStubs::cti_op_div(STUB_ARGS)
     1559EncodedJSValuePtr JITStubs::cti_op_div(STUB_ARGS)
    15601560{
    15611561    BEGIN_STUB_FUNCTION();
     
    15751575}
    15761576
    1577 JSValueEncodedAsPointer* JITStubs::cti_op_pre_dec(STUB_ARGS)
     1577EncodedJSValuePtr JITStubs::cti_op_pre_dec(STUB_ARGS)
    15781578{
    15791579    BEGIN_STUB_FUNCTION();
     
    16001600}
    16011601
    1602 JSValueEncodedAsPointer* JITStubs::cti_op_not(STUB_ARGS)
     1602EncodedJSValuePtr JITStubs::cti_op_not(STUB_ARGS)
    16031603{
    16041604    BEGIN_STUB_FUNCTION();
     
    16401640}
    16411641
    1642 JSValueEncodedAsPointer* JITStubs::cti_op_eq(STUB_ARGS)
     1642EncodedJSValuePtr JITStubs::cti_op_eq(STUB_ARGS)
    16431643{
    16441644    BEGIN_STUB_FUNCTION();
     
    16551655}
    16561656
    1657 JSValueEncodedAsPointer* JITStubs::cti_op_lshift(STUB_ARGS)
     1657EncodedJSValuePtr JITStubs::cti_op_lshift(STUB_ARGS)
    16581658{
    16591659    BEGIN_STUB_FUNCTION();
     
    16751675}
    16761676
    1677 JSValueEncodedAsPointer* JITStubs::cti_op_bitand(STUB_ARGS)
     1677EncodedJSValuePtr JITStubs::cti_op_bitand(STUB_ARGS)
    16781678{
    16791679    BEGIN_STUB_FUNCTION();
     
    16931693}
    16941694
    1695 JSValueEncodedAsPointer* JITStubs::cti_op_rshift(STUB_ARGS)
     1695EncodedJSValuePtr JITStubs::cti_op_rshift(STUB_ARGS)
    16961696{
    16971697    BEGIN_STUB_FUNCTION();
     
    17131713}
    17141714
    1715 JSValueEncodedAsPointer* JITStubs::cti_op_bitnot(STUB_ARGS)
     1715EncodedJSValuePtr JITStubs::cti_op_bitnot(STUB_ARGS)
    17161716{
    17171717    BEGIN_STUB_FUNCTION();
     
    17701770}
    17711771
    1772 JSValueEncodedAsPointer* JITStubs::cti_op_mod(STUB_ARGS)
     1772EncodedJSValuePtr JITStubs::cti_op_mod(STUB_ARGS)
    17731773{
    17741774    BEGIN_STUB_FUNCTION();
     
    17841784}
    17851785
    1786 JSValueEncodedAsPointer* JITStubs::cti_op_less(STUB_ARGS)
     1786EncodedJSValuePtr JITStubs::cti_op_less(STUB_ARGS)
    17871787{
    17881788    BEGIN_STUB_FUNCTION();
     
    17941794}
    17951795
    1796 JSValueEncodedAsPointer* JITStubs::cti_op_neq(STUB_ARGS)
     1796EncodedJSValuePtr JITStubs::cti_op_neq(STUB_ARGS)
    17971797{
    17981798    BEGIN_STUB_FUNCTION();
     
    18231823}
    18241824
    1825 JSValueEncodedAsPointer* JITStubs::cti_op_urshift(STUB_ARGS)
     1825EncodedJSValuePtr JITStubs::cti_op_urshift(STUB_ARGS)
    18261826{
    18271827    BEGIN_STUB_FUNCTION();
     
    18411841}
    18421842
    1843 JSValueEncodedAsPointer* JITStubs::cti_op_bitxor(STUB_ARGS)
     1843EncodedJSValuePtr JITStubs::cti_op_bitxor(STUB_ARGS)
    18441844{
    18451845    BEGIN_STUB_FUNCTION();
     
    18621862}
    18631863
    1864 JSValueEncodedAsPointer* JITStubs::cti_op_bitor(STUB_ARGS)
     1864EncodedJSValuePtr JITStubs::cti_op_bitor(STUB_ARGS)
    18651865{
    18661866    BEGIN_STUB_FUNCTION();
     
    18761876}
    18771877
    1878 JSValueEncodedAsPointer* JITStubs::cti_op_call_eval(STUB_ARGS)
     1878EncodedJSValuePtr JITStubs::cti_op_call_eval(STUB_ARGS)
    18791879{
    18801880    BEGIN_STUB_FUNCTION();
     
    19071907}
    19081908
    1909 JSValueEncodedAsPointer* JITStubs::cti_op_throw(STUB_ARGS)
     1909EncodedJSValuePtr JITStubs::cti_op_throw(STUB_ARGS)
    19101910{
    19111911    BEGIN_STUB_FUNCTION();
     
    19401940}
    19411941
    1942 JSValueEncodedAsPointer* JITStubs::cti_op_next_pname(STUB_ARGS)
     1942EncodedJSValuePtr JITStubs::cti_op_next_pname(STUB_ARGS)
    19431943{
    19441944    BEGIN_STUB_FUNCTION();
     
    19681968}
    19691969
    1970 JSValueEncodedAsPointer* JITStubs::cti_op_typeof(STUB_ARGS)
     1970EncodedJSValuePtr JITStubs::cti_op_typeof(STUB_ARGS)
    19711971{
    19721972    BEGIN_STUB_FUNCTION();
     
    19751975}
    19761976
    1977 JSValueEncodedAsPointer* JITStubs::cti_op_is_undefined(STUB_ARGS)
     1977EncodedJSValuePtr JITStubs::cti_op_is_undefined(STUB_ARGS)
    19781978{
    19791979    BEGIN_STUB_FUNCTION();
     
    19831983}
    19841984
    1985 JSValueEncodedAsPointer* JITStubs::cti_op_is_boolean(STUB_ARGS)
     1985EncodedJSValuePtr JITStubs::cti_op_is_boolean(STUB_ARGS)
    19861986{
    19871987    BEGIN_STUB_FUNCTION();
     
    19901990}
    19911991
    1992 JSValueEncodedAsPointer* JITStubs::cti_op_is_number(STUB_ARGS)
     1992EncodedJSValuePtr JITStubs::cti_op_is_number(STUB_ARGS)
    19931993{
    19941994    BEGIN_STUB_FUNCTION();
     
    19971997}
    19981998
    1999 JSValueEncodedAsPointer* JITStubs::cti_op_is_string(STUB_ARGS)
     1999EncodedJSValuePtr JITStubs::cti_op_is_string(STUB_ARGS)
    20002000{
    20012001    BEGIN_STUB_FUNCTION();
     
    20042004}
    20052005
    2006 JSValueEncodedAsPointer* JITStubs::cti_op_is_object(STUB_ARGS)
     2006EncodedJSValuePtr JITStubs::cti_op_is_object(STUB_ARGS)
    20072007{
    20082008    BEGIN_STUB_FUNCTION();
     
    20112011}
    20122012
    2013 JSValueEncodedAsPointer* JITStubs::cti_op_is_function(STUB_ARGS)
     2013EncodedJSValuePtr JITStubs::cti_op_is_function(STUB_ARGS)
    20142014{
    20152015    BEGIN_STUB_FUNCTION();
     
    20182018}
    20192019
    2020 JSValueEncodedAsPointer* JITStubs::cti_op_stricteq(STUB_ARGS)
     2020EncodedJSValuePtr JITStubs::cti_op_stricteq(STUB_ARGS)
    20212021{
    20222022    BEGIN_STUB_FUNCTION();
     
    20282028}
    20292029
    2030 JSValueEncodedAsPointer* JITStubs::cti_op_nstricteq(STUB_ARGS)
     2030EncodedJSValuePtr JITStubs::cti_op_nstricteq(STUB_ARGS)
    20312031{
    20322032    BEGIN_STUB_FUNCTION();
     
    20382038}
    20392039
    2040 JSValueEncodedAsPointer* JITStubs::cti_op_to_jsnumber(STUB_ARGS)
     2040EncodedJSValuePtr JITStubs::cti_op_to_jsnumber(STUB_ARGS)
    20412041{
    20422042    BEGIN_STUB_FUNCTION();
     
    20502050}
    20512051
    2052 JSValueEncodedAsPointer* JITStubs::cti_op_in(STUB_ARGS)
     2052EncodedJSValuePtr JITStubs::cti_op_in(STUB_ARGS)
    20532053{
    20542054    BEGIN_STUB_FUNCTION();
     
    21712171}
    21722172
    2173 JSValueEncodedAsPointer* JITStubs::cti_op_del_by_val(STUB_ARGS)
     2173EncodedJSValuePtr JITStubs::cti_op_del_by_val(STUB_ARGS)
    21742174{
    21752175    BEGIN_STUB_FUNCTION();
     
    22472247}
    22482248
    2249 JSValueEncodedAsPointer* JITStubs::cti_vm_throw(STUB_ARGS)
     2249EncodedJSValuePtr JITStubs::cti_vm_throw(STUB_ARGS)
    22502250{
    22512251    BEGIN_STUB_FUNCTION();
  • trunk/JavaScriptCore/jit/JITStubs.h

    r42976 r43103  
    106106        static JSObject* JIT_STUB cti_op_push_scope(STUB_ARGS);
    107107        static JSPropertyNameIterator* JIT_STUB cti_op_get_pnames(STUB_ARGS);
    108         static JSValueEncodedAsPointer* JIT_STUB cti_op_add(STUB_ARGS);
    109         static JSValueEncodedAsPointer* JIT_STUB cti_op_bitand(STUB_ARGS);
    110         static JSValueEncodedAsPointer* JIT_STUB cti_op_bitnot(STUB_ARGS);
    111         static JSValueEncodedAsPointer* JIT_STUB cti_op_bitor(STUB_ARGS);
    112         static JSValueEncodedAsPointer* JIT_STUB cti_op_bitxor(STUB_ARGS);
    113         static JSValueEncodedAsPointer* JIT_STUB cti_op_call_NotJSFunction(STUB_ARGS);
    114         static JSValueEncodedAsPointer* JIT_STUB cti_op_call_eval(STUB_ARGS);
    115         static JSValueEncodedAsPointer* JIT_STUB cti_op_construct_NotJSConstruct(STUB_ARGS);
    116         static JSValueEncodedAsPointer* JIT_STUB cti_op_del_by_id(STUB_ARGS);
    117         static JSValueEncodedAsPointer* JIT_STUB cti_op_del_by_val(STUB_ARGS);
    118         static JSValueEncodedAsPointer* JIT_STUB cti_op_div(STUB_ARGS);
    119         static JSValueEncodedAsPointer* JIT_STUB cti_op_eq(STUB_ARGS);
    120         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id(STUB_ARGS);
    121         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_array_fail(STUB_ARGS);
    122         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_generic(STUB_ARGS);
    123         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_proto_fail(STUB_ARGS);
    124         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_proto_list(STUB_ARGS);
    125         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_proto_list_full(STUB_ARGS);
    126         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_second(STUB_ARGS);
    127         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_self_fail(STUB_ARGS);
    128         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_id_string_fail(STUB_ARGS);
    129         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_val(STUB_ARGS);
    130         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_val_byte_array(STUB_ARGS);
    131         static JSValueEncodedAsPointer* JIT_STUB cti_op_get_by_val_string(STUB_ARGS);
    132         static JSValueEncodedAsPointer* JIT_STUB cti_op_in(STUB_ARGS);
    133         static JSValueEncodedAsPointer* JIT_STUB cti_op_instanceof(STUB_ARGS);
    134         static JSValueEncodedAsPointer* JIT_STUB cti_op_is_boolean(STUB_ARGS);
    135         static JSValueEncodedAsPointer* JIT_STUB cti_op_is_function(STUB_ARGS);
    136         static JSValueEncodedAsPointer* JIT_STUB cti_op_is_number(STUB_ARGS);
    137         static JSValueEncodedAsPointer* JIT_STUB cti_op_is_object(STUB_ARGS);
    138         static JSValueEncodedAsPointer* JIT_STUB cti_op_is_string(STUB_ARGS);
    139         static JSValueEncodedAsPointer* JIT_STUB cti_op_is_undefined(STUB_ARGS);
    140         static JSValueEncodedAsPointer* JIT_STUB cti_op_less(STUB_ARGS);
    141         static JSValueEncodedAsPointer* JIT_STUB cti_op_lesseq(STUB_ARGS);
    142         static JSValueEncodedAsPointer* JIT_STUB cti_op_lshift(STUB_ARGS);
    143         static JSValueEncodedAsPointer* JIT_STUB cti_op_mod(STUB_ARGS);
    144         static JSValueEncodedAsPointer* JIT_STUB cti_op_mul(STUB_ARGS);
    145         static JSValueEncodedAsPointer* JIT_STUB cti_op_negate(STUB_ARGS);
    146         static JSValueEncodedAsPointer* JIT_STUB cti_op_neq(STUB_ARGS);
    147         static JSValueEncodedAsPointer* JIT_STUB cti_op_next_pname(STUB_ARGS);
    148         static JSValueEncodedAsPointer* JIT_STUB cti_op_not(STUB_ARGS);
    149         static JSValueEncodedAsPointer* JIT_STUB cti_op_nstricteq(STUB_ARGS);
    150         static JSValueEncodedAsPointer* JIT_STUB cti_op_pre_dec(STUB_ARGS);
    151         static JSValueEncodedAsPointer* JIT_STUB cti_op_pre_inc(STUB_ARGS);
    152         static JSValueEncodedAsPointer* JIT_STUB cti_op_resolve(STUB_ARGS);
    153         static JSValueEncodedAsPointer* JIT_STUB cti_op_resolve_base(STUB_ARGS);
    154         static JSValueEncodedAsPointer* JIT_STUB cti_op_resolve_global(STUB_ARGS);
    155         static JSValueEncodedAsPointer* JIT_STUB cti_op_resolve_skip(STUB_ARGS);
    156         static JSValueEncodedAsPointer* JIT_STUB cti_op_rshift(STUB_ARGS);
    157         static JSValueEncodedAsPointer* JIT_STUB cti_op_stricteq(STUB_ARGS);
    158         static JSValueEncodedAsPointer* JIT_STUB cti_op_sub(STUB_ARGS);
    159         static JSValueEncodedAsPointer* JIT_STUB cti_op_throw(STUB_ARGS);
    160         static JSValueEncodedAsPointer* JIT_STUB cti_op_to_jsnumber(STUB_ARGS);
    161         static JSValueEncodedAsPointer* JIT_STUB cti_op_typeof(STUB_ARGS);
    162         static JSValueEncodedAsPointer* JIT_STUB cti_op_urshift(STUB_ARGS);
    163         static JSValueEncodedAsPointer* JIT_STUB cti_vm_throw(STUB_ARGS);
     108        static EncodedJSValuePtr JIT_STUB cti_op_add(STUB_ARGS);
     109        static EncodedJSValuePtr JIT_STUB cti_op_bitand(STUB_ARGS);
     110        static EncodedJSValuePtr JIT_STUB cti_op_bitnot(STUB_ARGS);
     111        static EncodedJSValuePtr JIT_STUB cti_op_bitor(STUB_ARGS);
     112        static EncodedJSValuePtr JIT_STUB cti_op_bitxor(STUB_ARGS);
     113        static EncodedJSValuePtr JIT_STUB cti_op_call_NotJSFunction(STUB_ARGS);
     114        static EncodedJSValuePtr JIT_STUB cti_op_call_eval(STUB_ARGS);
     115        static EncodedJSValuePtr JIT_STUB cti_op_construct_NotJSConstruct(STUB_ARGS);
     116        static EncodedJSValuePtr JIT_STUB cti_op_del_by_id(STUB_ARGS);
     117        static EncodedJSValuePtr JIT_STUB cti_op_del_by_val(STUB_ARGS);
     118        static EncodedJSValuePtr JIT_STUB cti_op_div(STUB_ARGS);
     119        static EncodedJSValuePtr JIT_STUB cti_op_eq(STUB_ARGS);
     120        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id(STUB_ARGS);
     121        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_array_fail(STUB_ARGS);
     122        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_generic(STUB_ARGS);
     123        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_proto_fail(STUB_ARGS);
     124        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_proto_list(STUB_ARGS);
     125        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_proto_list_full(STUB_ARGS);
     126        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_second(STUB_ARGS);
     127        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_self_fail(STUB_ARGS);
     128        static EncodedJSValuePtr JIT_STUB cti_op_get_by_id_string_fail(STUB_ARGS);
     129        static EncodedJSValuePtr JIT_STUB cti_op_get_by_val(STUB_ARGS);
     130        static EncodedJSValuePtr JIT_STUB cti_op_get_by_val_byte_array(STUB_ARGS);
     131        static EncodedJSValuePtr JIT_STUB cti_op_get_by_val_string(STUB_ARGS);
     132        static EncodedJSValuePtr JIT_STUB cti_op_in(STUB_ARGS);
     133        static EncodedJSValuePtr JIT_STUB cti_op_instanceof(STUB_ARGS);
     134        static EncodedJSValuePtr JIT_STUB cti_op_is_boolean(STUB_ARGS);
     135        static EncodedJSValuePtr JIT_STUB cti_op_is_function(STUB_ARGS);
     136        static EncodedJSValuePtr JIT_STUB cti_op_is_number(STUB_ARGS);
     137        static EncodedJSValuePtr JIT_STUB cti_op_is_object(STUB_ARGS);
     138        static EncodedJSValuePtr JIT_STUB cti_op_is_string(STUB_ARGS);
     139        static EncodedJSValuePtr JIT_STUB cti_op_is_undefined(STUB_ARGS);
     140        static EncodedJSValuePtr JIT_STUB cti_op_less(STUB_ARGS);
     141        static EncodedJSValuePtr JIT_STUB cti_op_lesseq(STUB_ARGS);
     142        static EncodedJSValuePtr JIT_STUB cti_op_lshift(STUB_ARGS);
     143        static EncodedJSValuePtr JIT_STUB cti_op_mod(STUB_ARGS);
     144        static EncodedJSValuePtr JIT_STUB cti_op_mul(STUB_ARGS);
     145        static EncodedJSValuePtr JIT_STUB cti_op_negate(STUB_ARGS);
     146        static EncodedJSValuePtr JIT_STUB cti_op_neq(STUB_ARGS);
     147        static EncodedJSValuePtr JIT_STUB cti_op_next_pname(STUB_ARGS);
     148        static EncodedJSValuePtr JIT_STUB cti_op_not(STUB_ARGS);
     149        static EncodedJSValuePtr JIT_STUB cti_op_nstricteq(STUB_ARGS);
     150        static EncodedJSValuePtr JIT_STUB cti_op_pre_dec(STUB_ARGS);
     151        static EncodedJSValuePtr JIT_STUB cti_op_pre_inc(STUB_ARGS);
     152        static EncodedJSValuePtr JIT_STUB cti_op_resolve(STUB_ARGS);
     153        static EncodedJSValuePtr JIT_STUB cti_op_resolve_base(STUB_ARGS);
     154        static EncodedJSValuePtr JIT_STUB cti_op_resolve_global(STUB_ARGS);
     155        static EncodedJSValuePtr JIT_STUB cti_op_resolve_skip(STUB_ARGS);
     156        static EncodedJSValuePtr JIT_STUB cti_op_rshift(STUB_ARGS);
     157        static EncodedJSValuePtr JIT_STUB cti_op_stricteq(STUB_ARGS);
     158        static EncodedJSValuePtr JIT_STUB cti_op_sub(STUB_ARGS);
     159        static EncodedJSValuePtr JIT_STUB cti_op_throw(STUB_ARGS);
     160        static EncodedJSValuePtr JIT_STUB cti_op_to_jsnumber(STUB_ARGS);
     161        static EncodedJSValuePtr JIT_STUB cti_op_typeof(STUB_ARGS);
     162        static EncodedJSValuePtr JIT_STUB cti_op_urshift(STUB_ARGS);
     163        static EncodedJSValuePtr JIT_STUB cti_vm_throw(STUB_ARGS);
    164164        static VoidPtrPair JIT_STUB cti_op_call_arityCheck(STUB_ARGS);
    165165        static VoidPtrPair JIT_STUB cti_op_post_dec(STUB_ARGS);
  • trunk/JavaScriptCore/runtime/JSValue.h

    r40046 r43103  
    3434    class Identifier;
    3535    class JSCell;
     36    class JSImmediate;
    3637    class JSObject;
    3738    class JSString;
     
    4546    enum PreferredPrimitiveType { NoPreference, PreferNumber, PreferString };
    4647
    47     class JSImmediate;
    48     class JSValueEncodedAsPointer;
     48    typedef void* EncodedJSValuePtr;
    4949
    5050    class JSValuePtr {
     
    9292        }
    9393
    94         static JSValueEncodedAsPointer* encode(JSValuePtr value)
    95         {
    96             return reinterpret_cast<JSValueEncodedAsPointer*>(value.m_ptr);
    97         }
    98 
    99         static JSValuePtr decode(JSValueEncodedAsPointer* ptr)
     94        static EncodedJSValuePtr encode(JSValuePtr value)
     95        {
     96            return reinterpret_cast<EncodedJSValuePtr>(value.m_ptr);
     97        }
     98
     99        static JSValuePtr decode(EncodedJSValuePtr ptr)
    100100        {
    101101            return JSValuePtr(reinterpret_cast<JSCell*>(ptr));
Note: See TracChangeset for help on using the changeset viewer.