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

Side by Side Diff: src/arm/macro-assembler-arm.h

Issue 11528003: Re-land Crankshaft-generated KeyedLoad stubs. (Closed) Base URL: https://v8.googlecode.com/svn/branches/bleeding_edge
Patch Set: Fix nits Created 8 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | src/frames.h » ('j') | src/hydrogen-instructions.h » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2012 the V8 project authors. All rights reserved. 1 // Copyright 2012 the V8 project authors. All rights reserved.
2 // Redistribution and use in source and binary forms, with or without 2 // Redistribution and use in source and binary forms, with or without
3 // modification, are permitted provided that the following conditions are 3 // modification, are permitted provided that the following conditions are
4 // met: 4 // met:
5 // 5 //
6 // * Redistributions of source code must retain the above copyright 6 // * Redistributions of source code must retain the above copyright
7 // notice, this list of conditions and the following disclaimer. 7 // notice, this list of conditions and the following disclaimer.
8 // * Redistributions in binary form must reproduce the above 8 // * Redistributions in binary form must reproduce the above
9 // copyright notice, this list of conditions and the following 9 // copyright notice, this list of conditions and the following
10 // disclaimer in the documentation and/or other materials provided 10 // disclaimer in the documentation and/or other materials provided
(...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after
100 Register reg5 = no_reg, 100 Register reg5 = no_reg,
101 Register reg6 = no_reg); 101 Register reg6 = no_reg);
102 #endif 102 #endif
103 103
104 104
105 enum TargetAddressStorageMode { 105 enum TargetAddressStorageMode {
106 CAN_INLINE_TARGET_ADDRESS, 106 CAN_INLINE_TARGET_ADDRESS,
107 NEVER_INLINE_TARGET_ADDRESS 107 NEVER_INLINE_TARGET_ADDRESS
108 }; 108 };
109 109
110
111 void IterateCompiledFrame(const StandardFrame* frame, ObjectVisitor* v);
Sven Panne 2012/12/11 07:59:06 Shouldn't this be a method of StandardFrame? A nak
Jakob Kummerow 2012/12/11 14:05:54 Well, the name "IterateCompiledFrame" expresses th
Sven Panne 2012/12/11 14:19:27 Well, that argument holds for the original signatu
danno 2012/12/11 14:26:49 There's not thing fishy about our class hierarchy.
112
113
110 // MacroAssembler implements a collection of frequently used macros. 114 // MacroAssembler implements a collection of frequently used macros.
111 class MacroAssembler: public Assembler { 115 class MacroAssembler: public Assembler {
112 public: 116 public:
113 // The isolate parameter can be NULL if the macro assembler should 117 // The isolate parameter can be NULL if the macro assembler should
114 // not use isolate-dependent functionality. In this case, it's the 118 // not use isolate-dependent functionality. In this case, it's the
115 // responsibility of the caller to never invoke such function on the 119 // responsibility of the caller to never invoke such function on the
116 // macro assembler. 120 // macro assembler.
117 MacroAssembler(Isolate* isolate, void* buffer, int size); 121 MacroAssembler(Isolate* isolate, void* buffer, int size);
118 122
119 // Jump, Call, and Ret pseudo instructions implementing inter-working. 123 // Jump, Call, and Ret pseudo instructions implementing inter-working.
(...skipping 1248 matching lines...) Expand 10 before | Expand all | Expand 10 after
1368 MemOperand SafepointRegistersAndDoublesSlot(Register reg); 1372 MemOperand SafepointRegistersAndDoublesSlot(Register reg);
1369 1373
1370 bool generating_stub_; 1374 bool generating_stub_;
1371 bool allow_stub_calls_; 1375 bool allow_stub_calls_;
1372 bool has_frame_; 1376 bool has_frame_;
1373 // This handle will be patched with the code object on installation. 1377 // This handle will be patched with the code object on installation.
1374 Handle<Object> code_object_; 1378 Handle<Object> code_object_;
1375 1379
1376 // Needs access to SafepointRegisterStackIndex for compiled frame 1380 // Needs access to SafepointRegisterStackIndex for compiled frame
1377 // traversal. 1381 // traversal.
1378 friend class CompiledFrame; 1382 friend void IterateCompiledFrame(const StandardFrame* frame,
1383 ObjectVisitor* v);
1379 }; 1384 };
1380 1385
1381 1386
1382 // The code patcher is used to patch (typically) small parts of code e.g. for 1387 // The code patcher is used to patch (typically) small parts of code e.g. for
1383 // debugging and other types of instrumentation. When using the code patcher 1388 // debugging and other types of instrumentation. When using the code patcher
1384 // the exact number of bytes specified must be emitted. It is not legal to emit 1389 // the exact number of bytes specified must be emitted. It is not legal to emit
1385 // relocation information. If any of these constraints are violated it causes 1390 // relocation information. If any of these constraints are violated it causes
1386 // an assertion to fail. 1391 // an assertion to fail.
1387 class CodePatcher { 1392 class CodePatcher {
1388 public: 1393 public:
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1429 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__) 1434 #define __FILE_LINE__ __FILE__ ":" CODE_COVERAGE_TOSTRING(__LINE__)
1430 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm-> 1435 #define ACCESS_MASM(masm) masm->stop(__FILE_LINE__); masm->
1431 #else 1436 #else
1432 #define ACCESS_MASM(masm) masm-> 1437 #define ACCESS_MASM(masm) masm->
1433 #endif 1438 #endif
1434 1439
1435 1440
1436 } } // namespace v8::internal 1441 } } // namespace v8::internal
1437 1442
1438 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_ 1443 #endif // V8_ARM_MACRO_ASSEMBLER_ARM_H_
OLDNEW
« no previous file with comments | « no previous file | src/frames.h » ('j') | src/hydrogen-instructions.h » ('J')

Powered by Google App Engine
This is Rietveld 408576698