Ignore:
Timestamp:
Dec 10, 2016, 5:14:37 PM (9 years ago)
Author:
[email protected]
Message:

Unreviewed, rolling out r209653, r209654, r209663, and
r209673.
https://bugs.webkit.org/show_bug.cgi?id=165739

speedometer crashes (Requested by pizlo on #webkit).

Reverted changesets:

"JSVALUE64: Pass arguments in platform argument registers when
making JavaScript calls"
https://bugs.webkit.org/show_bug.cgi?id=160355
http://trac.webkit.org/changeset/209653

"Unreviewed build fix for 32 bit builds."
http://trac.webkit.org/changeset/209654

"Unreviewed build fix for the CLOOP after r209653"
http://trac.webkit.org/changeset/209663

"REGRESSION(r209653) Crash in CallFrameShuffler::snapshot()"
https://bugs.webkit.org/show_bug.cgi?id=165728
http://trac.webkit.org/changeset/209673

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/Source/JavaScriptCore/llint/LLIntThunks.cpp

    r209653 r209678  
    5252namespace LLInt {
    5353
    54 enum ShouldCreateRegisterEntry { CreateRegisterEntry, DontCreateRegisterEntry };
    55 
    56 static MacroAssemblerCodeRef generateThunkWithJumpTo(VM* vm, void (*target)(), const char *thunkKind, ShouldCreateRegisterEntry shouldCreateRegisterEntry = DontCreateRegisterEntry)
     54static MacroAssemblerCodeRef generateThunkWithJumpTo(VM* vm, void (*target)(), const char *thunkKind)
    5755{
    5856    JSInterfaceJIT jit(vm);
    59 
    60 #if USE(JSVALUE64)
    61     if (shouldCreateRegisterEntry == CreateRegisterEntry)
    62         jit.spillArgumentRegistersToFrameBeforePrologue();
    63 #else
    64     UNUSED_PARAM(shouldCreateRegisterEntry);
    65 #endif
    66 
     57   
    6758    // FIXME: there's probably a better way to do it on X86, but I'm not sure I care.
    6859    jit.move(JSInterfaceJIT::TrustedImmPtr(bitwise_cast<void*>(target)), JSInterfaceJIT::regT0);
     
    7364}
    7465
    75 MacroAssemblerCodeRef functionForRegisterCallEntryThunkGenerator(VM* vm)
     66MacroAssemblerCodeRef functionForCallEntryThunkGenerator(VM* vm)
    7667{
    77     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_call_prologue), "function for register args call", CreateRegisterEntry);
     68    return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_call_prologue), "function for call");
    7869}
    7970
    80 MacroAssemblerCodeRef functionForStackCallEntryThunkGenerator(VM* vm)
     71MacroAssemblerCodeRef functionForConstructEntryThunkGenerator(VM* vm)
    8172{
    82     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_call_prologue), "function for stack args call");
     73    return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_construct_prologue), "function for construct");
    8374}
    8475
    85 MacroAssemblerCodeRef functionForRegisterConstructEntryThunkGenerator(VM* vm)
     76MacroAssemblerCodeRef functionForCallArityCheckThunkGenerator(VM* vm)
    8677{
    87     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_construct_prologue), "function for register args construct", CreateRegisterEntry);
     78    return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_call_arity_check), "function for call with arity check");
    8879}
    8980
    90 MacroAssemblerCodeRef functionForStackConstructEntryThunkGenerator(VM* vm)
     81MacroAssemblerCodeRef functionForConstructArityCheckThunkGenerator(VM* vm)
    9182{
    92     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_construct_prologue), "function for stack args construct");
    93 }
    94 
    95 MacroAssemblerCodeRef functionForRegisterCallArityCheckThunkGenerator(VM* vm)
    96 {
    97     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_call_arity_check), "function for register args call with arity check", CreateRegisterEntry);
    98 }
    99 
    100 MacroAssemblerCodeRef functionForStackCallArityCheckThunkGenerator(VM* vm)
    101 {
    102     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_call_arity_check), "function for stack args call with arity check");
    103 }
    104 
    105 MacroAssemblerCodeRef functionForRegisterConstructArityCheckThunkGenerator(VM* vm)
    106 {
    107     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_construct_arity_check), "function for register args construct with arity check", CreateRegisterEntry);
    108 }
    109 
    110 MacroAssemblerCodeRef functionForStackConstructArityCheckThunkGenerator(VM* vm)
    111 {
    112     return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_construct_arity_check), "function for stack args construct with arity check");
     83    return generateThunkWithJumpTo(vm, LLInt::getCodeFunctionPtr(llint_function_for_construct_arity_check), "function for construct with arity check");
    11384}
    11485
Note: See TracChangeset for help on using the changeset viewer.