| OLD | NEW |
| 1 // Copyright 2012 the V8 project authors. All rights reserved. | 1 // Copyright 2012 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 #ifndef V8_X64_LITHIUM_CODEGEN_X64_H_ | 5 #ifndef V8_X64_LITHIUM_CODEGEN_X64_H_ |
| 6 #define V8_X64_LITHIUM_CODEGEN_X64_H_ | 6 #define V8_X64_LITHIUM_CODEGEN_X64_H_ |
| 7 | 7 |
| 8 #include "src/x64/lithium-x64.h" | 8 #include "src/x64/lithium-x64.h" |
| 9 | 9 |
| 10 #include "src/checks.h" | 10 #include "src/checks.h" |
| (...skipping 86 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 97 Register object, | 97 Register object, |
| 98 Register index); | 98 Register index); |
| 99 | 99 |
| 100 // Parallel move support. | 100 // Parallel move support. |
| 101 void DoParallelMove(LParallelMove* move); | 101 void DoParallelMove(LParallelMove* move); |
| 102 void DoGap(LGap* instr); | 102 void DoGap(LGap* instr); |
| 103 | 103 |
| 104 // Emit frame translation commands for an environment. | 104 // Emit frame translation commands for an environment. |
| 105 void WriteTranslation(LEnvironment* environment, Translation* translation); | 105 void WriteTranslation(LEnvironment* environment, Translation* translation); |
| 106 | 106 |
| 107 #ifdef DEBUG |
| 108 void EmitKeyedAccessCheck(LOperand* elements, Operand operand); |
| 109 void EmitObjectAccessChecks(HObjectAccess* access, Register object, |
| 110 bool is_store); |
| 111 void EmitCheckMap(Register object, Handle<Map> map); |
| 112 void EmitCheckInstanceType(Register object, InstanceType type, |
| 113 Condition condition = equal); |
| 114 #endif |
| 115 |
| 107 // Declare methods that deal with the individual node types. | 116 // Declare methods that deal with the individual node types. |
| 108 #define DECLARE_DO(type) void Do##type(L##type* node); | 117 #define DECLARE_DO(type) void Do##type(L##type* node); |
| 109 LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) | 118 LITHIUM_CONCRETE_INSTRUCTION_LIST(DECLARE_DO) |
| 110 #undef DECLARE_DO | 119 #undef DECLARE_DO |
| 111 | 120 |
| 112 private: | 121 private: |
| 113 StrictMode strict_mode() const { return info()->strict_mode(); } | 122 StrictMode strict_mode() const { return info()->strict_mode(); } |
| 114 | 123 |
| 115 LPlatformChunk* chunk() const { return chunk_; } | 124 LPlatformChunk* chunk() const { return chunk_; } |
| 116 Scope* scope() const { return scope_; } | 125 Scope* scope() const { return scope_; } |
| (...skipping 270 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 387 Label entry_; | 396 Label entry_; |
| 388 Label exit_; | 397 Label exit_; |
| 389 Label done_; | 398 Label done_; |
| 390 Label* external_exit_; | 399 Label* external_exit_; |
| 391 int instruction_index_; | 400 int instruction_index_; |
| 392 }; | 401 }; |
| 393 | 402 |
| 394 } } // namespace v8::internal | 403 } } // namespace v8::internal |
| 395 | 404 |
| 396 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ | 405 #endif // V8_X64_LITHIUM_CODEGEN_X64_H_ |
| OLD | NEW |