Commit 28a5baa0 authored by zhengxing.li's avatar zhengxing.li Committed by Commit bot

X87: [stubs] A new approach to TF stubs.

  port 3e7e3ed7 (r32508)

  original commit message:
  * Add a sibling interface to InterpreterAssembler called
    CodeStubAssembler which provides a wrapper around the
    RawMachineAssembler and is intented to make it easy to build
    efficient cross-platform code stubs. Much of the implementation
    of CodeStubAssembler is shamelessly stolen from the
    InterpreterAssembler, and the idea is to eventually merge the
    two interfaces somehow, probably moving the
    InterpreterAssembler interface over to use the
    CodeStubAssembler. Short-term, however, the two interfaces
    shall remain decoupled to increase our velocity developing the
    two systems in parallel.
  * Implement the StringLength stub in TurboFan with the new
    CodeStubAssembler. Replace and remove the old Hydrogen-stub
    version.
  * Remove a whole slew of machinery to support JavaScript-style
    code stub generation, since it ultimately proved unwieldy,
    brittle and baroque. This cleanup includes removing the shared
    code stub context, several example stubs and a tangle of build
    file changes.

BUG=

Review URL: https://codereview.chromium.org/1492213002

Cr-Commit-Position: refs/heads/master@{#32538}
parent d03dc2a1
...@@ -397,27 +397,6 @@ void ApiAccessorDescriptor::InitializePlatformSpecific( ...@@ -397,27 +397,6 @@ void ApiAccessorDescriptor::InitializePlatformSpecific(
} }
void MathRoundVariantCallFromUnoptimizedCodeDescriptor::
InitializePlatformSpecific(CallInterfaceDescriptorData* data) {
Register registers[] = {
edi, // math rounding function
edx, // vector slot id
};
data->InitializePlatformSpecific(arraysize(registers), registers);
}
void MathRoundVariantCallFromOptimizedCodeDescriptor::
InitializePlatformSpecific(CallInterfaceDescriptorData* data) {
Register registers[] = {
edi, // math rounding function
edx, // vector slot id
ebx // type vector
};
data->InitializePlatformSpecific(arraysize(registers), registers);
}
void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific( void InterpreterPushArgsAndCallDescriptor::InitializePlatformSpecific(
CallInterfaceDescriptorData* data) { CallInterfaceDescriptorData* data) {
Register registers[] = { Register registers[] = {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment