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 2045 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2056 return AssignEnvironment(DefineAsRegister( | 2056 return AssignEnvironment(DefineAsRegister( |
2057 new(zone()) LLoadFunctionPrototype(UseRegister(instr->function())))); | 2057 new(zone()) LLoadFunctionPrototype(UseRegister(instr->function())))); |
2058 } | 2058 } |
2059 | 2059 |
2060 | 2060 |
2061 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { | 2061 LInstruction* LChunkBuilder::DoLoadRoot(HLoadRoot* instr) { |
2062 return DefineAsRegister(new(zone()) LLoadRoot); | 2062 return DefineAsRegister(new(zone()) LLoadRoot); |
2063 } | 2063 } |
2064 | 2064 |
2065 | 2065 |
2066 LInstruction* LChunkBuilder::DoLoadExternalArrayPointer( | |
2067 HLoadExternalArrayPointer* instr) { | |
2068 LOperand* input = UseRegisterAtStart(instr->value()); | |
2069 return DefineAsRegister(new(zone()) LLoadExternalArrayPointer(input)); | |
2070 } | |
2071 | |
2072 | |
2073 LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) { | 2066 LInstruction* LChunkBuilder::DoLoadKeyed(HLoadKeyed* instr) { |
2074 ASSERT(instr->key()->representation().IsSmiOrInteger32()); | 2067 ASSERT(instr->key()->representation().IsSmiOrInteger32()); |
2075 ElementsKind elements_kind = instr->elements_kind(); | 2068 ElementsKind elements_kind = instr->elements_kind(); |
2076 LOperand* key = UseRegisterOrConstantAtStart(instr->key()); | 2069 LOperand* key = UseRegisterOrConstantAtStart(instr->key()); |
2077 LLoadKeyed* result = NULL; | 2070 LLoadKeyed* result = NULL; |
2078 | 2071 |
2079 if (!instr->is_typed_elements()) { | 2072 if (!instr->is_typed_elements()) { |
2080 LOperand* obj = NULL; | 2073 LOperand* obj = NULL; |
2081 if (instr->representation().IsDouble()) { | 2074 if (instr->representation().IsDouble()) { |
2082 obj = UseRegister(instr->elements()); | 2075 obj = UseRegister(instr->elements()); |
(...skipping 422 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2505 } | 2498 } |
2506 | 2499 |
2507 | 2500 |
2508 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { | 2501 LInstruction* LChunkBuilder::DoLoadFieldByIndex(HLoadFieldByIndex* instr) { |
2509 LOperand* object = UseRegister(instr->object()); | 2502 LOperand* object = UseRegister(instr->object()); |
2510 LOperand* index = UseRegister(instr->index()); | 2503 LOperand* index = UseRegister(instr->index()); |
2511 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); | 2504 return DefineAsRegister(new(zone()) LLoadFieldByIndex(object, index)); |
2512 } | 2505 } |
2513 | 2506 |
2514 } } // namespace v8::internal | 2507 } } // namespace v8::internal |
OLD | NEW |