Index: src/objects-inl.h |
diff --git a/src/objects-inl.h b/src/objects-inl.h |
index 2f92edc5523609e9c939c2db4e5588598bb32814..c70ab022c6c4b3adccf285ea2365ae602e731b98 100644 |
--- a/src/objects-inl.h |
+++ b/src/objects-inl.h |
@@ -2563,6 +2563,7 @@ BOOL_ACCESSORS(SharedFunctionInfo, |
allows_lazy_compilation, |
kAllowLazyCompilation) |
+ |
#if V8_HOST_ARCH_32_BIT |
SMI_ACCESSORS(SharedFunctionInfo, length, kLengthOffset) |
SMI_ACCESSORS(SharedFunctionInfo, formal_parameter_count, |
@@ -2662,6 +2663,11 @@ Code* SharedFunctionInfo::code() { |
} |
+Code* SharedFunctionInfo::unchecked_code() { |
+ return reinterpret_cast<Code*>(READ_FIELD(this, kCodeOffset)); |
+} |
+ |
+ |
void SharedFunctionInfo::set_code(Code* value, WriteBarrierMode mode) { |
WRITE_FIELD(this, kCodeOffset, value); |
CONDITIONAL_WRITE_BARRIER(this, kCodeOffset, mode); |
@@ -2708,6 +2714,17 @@ int SharedFunctionInfo::custom_call_generator_id() { |
} |
+int SharedFunctionInfo::code_age() { |
+ return (compiler_hints() >> kCodeAgeShift) & kCodeAgeMask; |
+} |
+ |
+ |
+void SharedFunctionInfo::set_code_age(int code_age) { |
+ set_compiler_hints(compiler_hints() | |
+ ((code_age & kCodeAgeMask) << kCodeAgeShift)); |
+} |
+ |
+ |
bool JSFunction::IsBuiltin() { |
return context()->global()->IsJSBuiltinsObject(); |
} |
@@ -2718,6 +2735,11 @@ Code* JSFunction::code() { |
} |
+Code* JSFunction::unchecked_code() { |
+ return reinterpret_cast<Code*>(READ_FIELD(this, kCodeOffset)); |
+} |
+ |
+ |
void JSFunction::set_code(Code* value) { |
// Skip the write barrier because code is never in new space. |
ASSERT(!Heap::InNewSpace(value)); |
@@ -2735,6 +2757,12 @@ Object* JSFunction::unchecked_context() { |
} |
+SharedFunctionInfo* JSFunction::unchecked_shared() { |
+ return reinterpret_cast<SharedFunctionInfo*>( |
+ READ_FIELD(this, kSharedFunctionInfoOffset)); |
+} |
+ |
+ |
void JSFunction::set_context(Object* value) { |
ASSERT(value == Heap::undefined_value() || value->IsContext()); |
WRITE_FIELD(this, kContextOffset, value); |