Index: src/code-stubs-hydrogen.cc |
diff --git a/src/code-stubs-hydrogen.cc b/src/code-stubs-hydrogen.cc |
index 45d1417b0de1d5b2e50c0d9b64eb3af0454bb695..225e00f5a49daf4ddebd84734bbc0946b5891661 100644 |
--- a/src/code-stubs-hydrogen.cc |
+++ b/src/code-stubs-hydrogen.cc |
@@ -514,6 +514,28 @@ Handle<Code> CreateAllocationSiteStub::GenerateCode() { |
template <> |
+HValue* CodeStubGraphBuilder<LoadGlobalContextFieldStub>::BuildCodeStub() { |
+ int context_index = casted_stub()->context_index(); |
+ int slot_index = casted_stub()->slot_index(); |
+ |
+ HValue* native_context = BuildGetNativeContext(); |
+ HValue* global_context_table = Add<HLoadNamedField>( |
+ native_context, static_cast<HValue*>(NULL), |
+ HObjectAccess::ForContextSlot(Context::GLOBAL_CONTEXT_TABLE_INDEX)); |
+ HValue* global_context = |
+ Add<HLoadNamedField>(global_context_table, static_cast<HValue*>(NULL), |
+ HObjectAccess::ForGlobalContext(context_index)); |
+ return Add<HLoadNamedField>(global_context, static_cast<HValue*>(NULL), |
+ HObjectAccess::ForContextSlot(slot_index)); |
+} |
+ |
+ |
+Handle<Code> LoadGlobalContextFieldStub::GenerateCode() { |
+ return DoGenerateCode(this); |
+} |
+ |
+ |
+template <> |
HValue* CodeStubGraphBuilder<LoadFastElementStub>::BuildCodeStub() { |
HInstruction* load = BuildUncheckedMonomorphicElementAccess( |
GetParameter(LoadDescriptor::kReceiverIndex), |