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

Unified Diff: src/compiler.h

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/compiler.h
diff --git a/src/compiler.h b/src/compiler.h
index 7599c13a0c48f98e2c545a049be02b2fba3c05a8..8100056676f2470e1df920d2051ce6819147798a 100644
--- a/src/compiler.h
+++ b/src/compiler.h
@@ -77,6 +77,7 @@ class CompilationInfo {
Scope* global_scope() const { return global_scope_; }
Handle<Code> code() const { return code_; }
Handle<JSFunction> closure() const { return closure_; }
+ Handle<Object> closure_code_object() const { return closure_code_object_; }
Handle<SharedFunctionInfo> shared_info() const { return shared_info_; }
Handle<Script> script() const { return script_; }
HydrogenCodeStub* code_stub() const {return code_stub_; }
@@ -91,6 +92,7 @@ class CompilationInfo {
int num_heap_slots() const;
Code::Flags flags() const;
+ void CreateCodeObject();
void MarkAsEval() {
ASSERT(!is_lazy());
flags_ |= IsEval::encode(true);
@@ -405,6 +407,9 @@ class CompilationInfo {
Handle<SharedFunctionInfo> shared_info_;
Handle<Script> script_;
+ // Placeholder for self calls
+ Handle<Object> closure_code_object_;
+
// Fields possibly needed for eager compilation, NULL by default.
v8::Extension* extension_;
ScriptDataImpl* pre_parse_data_;
@@ -438,7 +443,7 @@ class CompilationInfo {
template<typename T>
void SaveHandle(Handle<T> *object) {
if (!object->is_null()) {
- Handle<T> handle(*(*object));
+ Handle<T> handle(*(*object), isolate());
*object = handle;
}
}

Powered by Google App Engine
This is Rietveld 408576698