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

Side by Side Diff: src/ppc/lithium-codegen-ppc.cc

Issue 1131783003: Embedded constant pools. (Closed) Base URL: https://chromium.googlesource.com/v8/v8.git@master
Patch Set: Address remaining comments. Created 5 years, 6 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 unified diff | Download patch
OLDNEW
1 // Copyright 2014 the V8 project authors. All rights reserved. 1 // Copyright 2014 the V8 project authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "src/v8.h" 5 #include "src/v8.h"
6 6
7 #include "src/base/bits.h" 7 #include "src/base/bits.h"
8 #include "src/code-factory.h" 8 #include "src/code-factory.h"
9 #include "src/code-stubs.h" 9 #include "src/code-stubs.h"
10 #include "src/cpu-profiler.h" 10 #include "src/cpu-profiler.h"
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
43 bool LCodeGen::GenerateCode() { 43 bool LCodeGen::GenerateCode() {
44 LPhase phase("Z_Code generation", chunk()); 44 LPhase phase("Z_Code generation", chunk());
45 DCHECK(is_unused()); 45 DCHECK(is_unused());
46 status_ = GENERATING; 46 status_ = GENERATING;
47 47
48 // Open a frame scope to indicate that there is a frame on the stack. The 48 // Open a frame scope to indicate that there is a frame on the stack. The
49 // NONE indicates that the scope shouldn't actually generate code to set up 49 // NONE indicates that the scope shouldn't actually generate code to set up
50 // the frame (that is done in GeneratePrologue). 50 // the frame (that is done in GeneratePrologue).
51 FrameScope frame_scope(masm_, StackFrame::NONE); 51 FrameScope frame_scope(masm_, StackFrame::NONE);
52 52
53 return GeneratePrologue() && GenerateBody() && GenerateDeferredCode() && 53 bool rc = GeneratePrologue() && GenerateBody() && GenerateDeferredCode() &&
54 GenerateJumpTable() && GenerateSafepointTable(); 54 GenerateJumpTable() && GenerateSafepointTable();
55 #ifdef DEBUG
56 if (!rc) {
57 // Avoid DCHECK(!is_linked()) failure in ~Label()
rmcilroy 2015/06/01 09:52:09 Won't this cause issues in non-debug code if the l
MTBrandyberry 2015/06/01 21:01:30 Not quite. The label gets deleted upon destructio
rmcilroy 2015/06/02 13:57:21 The more I think about it the less keen I am to be
MTBrandyberry 2015/06/02 15:36:10 Loading the offset from the code object is problem
rmcilroy 2015/06/02 16:40:12 OK.
MTBrandyberry 2015/06/02 16:55:31 sgtm
58 masm()->EmitConstantPool();
59 }
60 #endif
61 return rc;
55 } 62 }
56 63
57 64
58 void LCodeGen::FinishCode(Handle<Code> code) { 65 void LCodeGen::FinishCode(Handle<Code> code) {
59 DCHECK(is_done()); 66 DCHECK(is_done());
60 code->set_stack_slots(GetStackSlotCount()); 67 code->set_stack_slots(GetStackSlotCount());
61 code->set_safepoint_table_offset(safepoints_.GetCodeOffset()); 68 code->set_safepoint_table_offset(safepoints_.GetCodeOffset());
62 PopulateDeoptimizationData(code); 69 PopulateDeoptimizationData(code);
63 } 70 }
64 71
(...skipping 6149 matching lines...) Expand 10 before | Expand all | Expand 10 after
6214 __ Push(scope_info); 6221 __ Push(scope_info);
6215 __ push(ToRegister(instr->function())); 6222 __ push(ToRegister(instr->function()));
6216 CallRuntime(Runtime::kPushBlockContext, 2, instr); 6223 CallRuntime(Runtime::kPushBlockContext, 2, instr);
6217 RecordSafepoint(Safepoint::kNoLazyDeopt); 6224 RecordSafepoint(Safepoint::kNoLazyDeopt);
6218 } 6225 }
6219 6226
6220 6227
6221 #undef __ 6228 #undef __
6222 } 6229 }
6223 } // namespace v8::internal 6230 } // namespace v8::internal
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698