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

Unified Diff: src/isolate.cc

Issue 104663004: Preview of a first step towards unification of hydrogen calls (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Created 7 years 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/isolate.cc
diff --git a/src/isolate.cc b/src/isolate.cc
index a0dd958fce449ff98943342262383b88a5a7f5e5..f567912c15a7566897965a1ccb7d5e7db9d98a86 100644
--- a/src/isolate.cc
+++ b/src/isolate.cc
@@ -1551,6 +1551,7 @@ Isolate::Isolate()
regexp_stack_(NULL),
date_cache_(NULL),
code_stub_interface_descriptors_(NULL),
+ call_descriptors_(NULL),
// TODO(bmeurer) Initialized lazily because it depends on flags; can
// be fixed once the default isolate cleanup is done.
random_number_generator_(NULL),
@@ -1759,6 +1760,9 @@ Isolate::~Isolate() {
delete[] code_stub_interface_descriptors_;
code_stub_interface_descriptors_ = NULL;
+ delete[]call_descriptors_;
Toon Verwaest 2013/12/18 16:11:41 nit: space after [].
Jarin 2013/12/30 15:15:47 Done.
+ call_descriptors_ = NULL;
+
delete regexp_stack_;
regexp_stack_ = NULL;
@@ -1952,6 +1956,8 @@ bool Isolate::Init(Deserializer* des) {
date_cache_ = new DateCache();
code_stub_interface_descriptors_ =
new CodeStubInterfaceDescriptor[CodeStub::NUMBER_OF_IDS];
+ call_descriptors_ =
+ new CodeStubInterfaceDescriptor[NUMBER_OF_CALL_DESCRIPTORS];
cpu_profiler_ = new CpuProfiler(this);
heap_profiler_ = new HeapProfiler(heap());
@@ -2112,6 +2118,8 @@ bool Isolate::Init(Deserializer* des) {
NewStringAddStub::InstallDescriptors(this);
}
+ CallDescriptors::InitializeForIsolate(this);
+
initialized_from_snapshot_ = (des != NULL);
return true;
@@ -2289,6 +2297,13 @@ CodeStubInterfaceDescriptor*
}
+CodeStubInterfaceDescriptor*
+ Isolate::call_descriptor(CallDescriptorKey index) {
+ ASSERT(0 <= index && index < NUMBER_OF_CALL_DESCRIPTORS);
+ return &call_descriptors_[index];
+}
+
+
Object* Isolate::FindCodeObject(Address a) {
return inner_pointer_to_code_cache()->GcSafeFindCodeForInnerPointer(a);
}

Powered by Google App Engine
This is Rietveld 408576698