Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(47)

Unified Diff: src/code-stubs.cc

Issue 499343002: Added vector-based loadic hydrogen stubs. Not yet callable. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: More comments. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
Index: src/code-stubs.cc
diff --git a/src/code-stubs.cc b/src/code-stubs.cc
index d77f37ead2cef0615de00d3df14e4d5b3ad5dea5..2d66bf3095bdb7b02482f1de6997c3d8cd81bbe0 100644
--- a/src/code-stubs.cc
+++ b/src/code-stubs.cc
@@ -664,6 +664,35 @@ void InstanceofStub::InitializeInterfaceDescriptor(
}
+static void InitializeVectorLoadStub(CodeStubInterfaceDescriptor* descriptor,
+ CodeStub::Major major,
+ Address deoptimization_handler) {
+ DCHECK(FLAG_vector_ics);
+ Register registers[] = {InterfaceDescriptor::ContextRegister(),
+ FullVectorLoadConvention::ReceiverRegister(),
+ FullVectorLoadConvention::NameRegister(),
+ FullVectorLoadConvention::SlotRegister(),
+ FullVectorLoadConvention::VectorRegister()};
+ descriptor->Initialize(major, arraysize(registers), registers,
+ deoptimization_handler);
+}
+
+
+void VectorLoadStub::InitializeInterfaceDescriptor(
+ CodeStubInterfaceDescriptor* descriptor) {
+ InitializeVectorLoadStub(descriptor, MajorKey(),
+ FUNCTION_ADDR(VectorLoadIC_MissFromStubFailure));
+}
+
+
+void VectorKeyedLoadStub::InitializeInterfaceDescriptor(
+ CodeStubInterfaceDescriptor* descriptor) {
+ InitializeVectorLoadStub(
+ descriptor, MajorKey(),
+ FUNCTION_ADDR(VectorKeyedLoadIC_MissFromStubFailure));
+}
+
+
void LoadDictionaryElementPlatformStub::Generate(MacroAssembler* masm) {
ElementHandlerCompiler::GenerateLoadDictionaryElement(masm);
}

Powered by Google App Engine
This is Rietveld 408576698