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

Unified Diff: src/code-stubs-hydrogen.cc

Issue 552803002: Get CallInterfaceDescriptor directly from CodeStub. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 6 years, 3 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-hydrogen.cc
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc
index 368cd732e5fa9457364687d429bdad9fb2132190..e3261a38d7fe06ebae1b8eb1df438f5b2f4f47e1 100644
--- a/src/code-stubs-hydrogen.cc
+++ b/src/code-stubs-hydrogen.cc
@@ -103,7 +103,7 @@ class CodeStubGraphBuilderBase : public HGraphBuilder {
SmartArrayPointer<HParameter*> parameters_;
HValue* arguments_length_;
CompilationInfoWithZone info_;
- CodeStubInterfaceDescriptor descriptor_;
+ CodeStubDescriptor descriptor_;
HContext* context_;
};
@@ -216,7 +216,8 @@ class CodeStubGraphBuilder: public CodeStubGraphBuilderBase {
};
-Handle<Code> HydrogenCodeStub::GenerateLightweightMissCode() {
+Handle<Code> HydrogenCodeStub::GenerateLightweightMissCode(
+ ExternalReference miss) {
Factory* factory = isolate()->factory();
// Generate the new code.
@@ -229,7 +230,7 @@ Handle<Code> HydrogenCodeStub::GenerateLightweightMissCode() {
// Generate the code for the stub.
masm.set_generating_stub(true);
NoCurrentFrameScope scope(&masm);
- GenerateLightweightMiss(&masm);
+ GenerateLightweightMiss(&masm, miss);
}
// Create the code object.
@@ -251,14 +252,14 @@ Handle<Code> HydrogenCodeStub::GenerateLightweightMissCode() {
template <class Stub>
static Handle<Code> DoGenerateCode(Stub* stub) {
Isolate* isolate = stub->isolate();
- CodeStubInterfaceDescriptor descriptor(stub);
+ CodeStubDescriptor descriptor(stub);
// If we are uninitialized we can use a light-weight stub to enter
// the runtime that is significantly faster than using the standard
// stub-failure deopt mechanism.
if (stub->IsUninitialized() && descriptor.has_miss_handler()) {
DCHECK(!descriptor.stack_parameter_count().is_valid());
- return stub->GenerateLightweightMissCode();
+ return stub->GenerateLightweightMissCode(descriptor.miss_handler());
}
base::ElapsedTimer timer;
if (FLAG_profile_hydrogen_code_stub_compilation) {

Powered by Google App Engine
This is Rietveld 408576698