OLD | NEW |
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 2076 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2087 return AssignPointerMap(DefineAsRegister(result)); | 2087 return AssignPointerMap(DefineAsRegister(result)); |
2088 } | 2088 } |
2089 | 2089 |
2090 | 2090 |
2091 LInstruction* LChunkBuilder::DoStringLength(HStringLength* instr) { | 2091 LInstruction* LChunkBuilder::DoStringLength(HStringLength* instr) { |
2092 LOperand* string = UseRegisterAtStart(instr->value()); | 2092 LOperand* string = UseRegisterAtStart(instr->value()); |
2093 return DefineAsRegister(new LStringLength(string)); | 2093 return DefineAsRegister(new LStringLength(string)); |
2094 } | 2094 } |
2095 | 2095 |
2096 | 2096 |
| 2097 LInstruction* LChunkBuilder::DoFastLiteral(HFastLiteral* instr) { |
| 2098 return MarkAsCall(DefineFixed(new LFastLiteral, rax), instr); |
| 2099 } |
| 2100 |
| 2101 |
2097 LInstruction* LChunkBuilder::DoArrayLiteral(HArrayLiteral* instr) { | 2102 LInstruction* LChunkBuilder::DoArrayLiteral(HArrayLiteral* instr) { |
2098 return MarkAsCall(DefineFixed(new LArrayLiteral, rax), instr); | 2103 return MarkAsCall(DefineFixed(new LArrayLiteral, rax), instr); |
2099 } | 2104 } |
2100 | 2105 |
2101 | 2106 |
2102 LInstruction* LChunkBuilder::DoObjectLiteralFast(HObjectLiteralFast* instr) { | 2107 LInstruction* LChunkBuilder::DoObjectLiteral(HObjectLiteral* instr) { |
2103 return MarkAsCall(DefineFixed(new LObjectLiteralFast, rax), instr); | 2108 return MarkAsCall(DefineFixed(new LObjectLiteral, rax), instr); |
2104 } | 2109 } |
2105 | 2110 |
2106 | 2111 |
2107 LInstruction* LChunkBuilder::DoObjectLiteralGeneric( | |
2108 HObjectLiteralGeneric* instr) { | |
2109 return MarkAsCall(DefineFixed(new LObjectLiteralGeneric, rax), instr); | |
2110 } | |
2111 | |
2112 | |
2113 LInstruction* LChunkBuilder::DoRegExpLiteral(HRegExpLiteral* instr) { | 2112 LInstruction* LChunkBuilder::DoRegExpLiteral(HRegExpLiteral* instr) { |
2114 return MarkAsCall(DefineFixed(new LRegExpLiteral, rax), instr); | 2113 return MarkAsCall(DefineFixed(new LRegExpLiteral, rax), instr); |
2115 } | 2114 } |
2116 | 2115 |
2117 | 2116 |
2118 LInstruction* LChunkBuilder::DoFunctionLiteral(HFunctionLiteral* instr) { | 2117 LInstruction* LChunkBuilder::DoFunctionLiteral(HFunctionLiteral* instr) { |
2119 return MarkAsCall(DefineFixed(new LFunctionLiteral, rax), instr); | 2118 return MarkAsCall(DefineFixed(new LFunctionLiteral, rax), instr); |
2120 } | 2119 } |
2121 | 2120 |
2122 | 2121 |
(...skipping 143 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2266 LOperand* key = UseOrConstantAtStart(instr->key()); | 2265 LOperand* key = UseOrConstantAtStart(instr->key()); |
2267 LOperand* object = UseOrConstantAtStart(instr->object()); | 2266 LOperand* object = UseOrConstantAtStart(instr->object()); |
2268 LIn* result = new LIn(key, object); | 2267 LIn* result = new LIn(key, object); |
2269 return MarkAsCall(DefineFixed(result, rax), instr); | 2268 return MarkAsCall(DefineFixed(result, rax), instr); |
2270 } | 2269 } |
2271 | 2270 |
2272 | 2271 |
2273 } } // namespace v8::internal | 2272 } } // namespace v8::internal |
2274 | 2273 |
2275 #endif // V8_TARGET_ARCH_X64 | 2274 #endif // V8_TARGET_ARCH_X64 |
OLD | NEW |