| OLD | NEW | 
|     1 // Copyright 2016 the V8 project authors. All rights reserved. |     1 // Copyright 2016 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 #include "src/code-stub-assembler.h" |     4 #include "src/code-stub-assembler.h" | 
|     5 #include "src/code-factory.h" |     5 #include "src/code-factory.h" | 
|     6 #include "src/frames-inl.h" |     6 #include "src/frames-inl.h" | 
|     7 #include "src/frames.h" |     7 #include "src/frames.h" | 
|     8 #include "src/ic/handler-configuration.h" |     8 #include "src/ic/handler-configuration.h" | 
|     9 #include "src/ic/stub-cache.h" |     9 #include "src/ic/stub-cache.h" | 
|    10  |    10  | 
| (...skipping 1258 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  1269                                              Node* value) { |  1269                                              Node* value) { | 
|  1270   int offset = Context::SlotOffset(slot_index); |  1270   int offset = Context::SlotOffset(slot_index); | 
|  1271   return Store(MachineRepresentation::kTagged, context, IntPtrConstant(offset), |  1271   return Store(MachineRepresentation::kTagged, context, IntPtrConstant(offset), | 
|  1272                value); |  1272                value); | 
|  1273 } |  1273 } | 
|  1274  |  1274  | 
|  1275 Node* CodeStubAssembler::LoadNativeContext(Node* context) { |  1275 Node* CodeStubAssembler::LoadNativeContext(Node* context) { | 
|  1276   return LoadContextElement(context, Context::NATIVE_CONTEXT_INDEX); |  1276   return LoadContextElement(context, Context::NATIVE_CONTEXT_INDEX); | 
|  1277 } |  1277 } | 
|  1278  |  1278  | 
 |  1279 Node* CodeStubAssembler::LoadModuleContext(Node* context) { | 
 |  1280   Variable var_context(this, MachineRepresentation::kTaggedPointer); | 
 |  1281   var_context.Bind(context); | 
 |  1282  | 
 |  1283   Label loop_start(this, &var_context), loop_end(this); | 
 |  1284   Goto(&loop_start); | 
 |  1285   Bind(&loop_start); | 
 |  1286   { | 
 |  1287     Node* context_map = LoadMap(var_context.value()); | 
 |  1288     Node* is_module_context = | 
 |  1289         WordEqual(context_map, LoadRoot(Heap::kModuleContextMapRootIndex)); | 
 |  1290     GotoIf(is_module_context, &loop_end); | 
 |  1291  | 
 |  1292     var_context.Bind( | 
 |  1293         LoadContextElement(var_context.value(), Context::PREVIOUS_INDEX)); | 
 |  1294     Goto(&loop_start); | 
 |  1295   } | 
 |  1296   Bind(&loop_end); | 
 |  1297   return var_context.value(); | 
 |  1298 } | 
 |  1299  | 
|  1279 Node* CodeStubAssembler::LoadJSArrayElementsMap(ElementsKind kind, |  1300 Node* CodeStubAssembler::LoadJSArrayElementsMap(ElementsKind kind, | 
|  1280                                                 Node* native_context) { |  1301                                                 Node* native_context) { | 
|  1281   CSA_ASSERT(IsNativeContext(native_context)); |  1302   CSA_ASSERT(IsNativeContext(native_context)); | 
|  1282   return LoadFixedArrayElement(native_context, |  1303   return LoadFixedArrayElement(native_context, | 
|  1283                                IntPtrConstant(Context::ArrayMapIndex(kind))); |  1304                                IntPtrConstant(Context::ArrayMapIndex(kind))); | 
|  1284 } |  1305 } | 
|  1285  |  1306  | 
|  1286 Node* CodeStubAssembler::StoreHeapNumberValue(Node* object, Node* value) { |  1307 Node* CodeStubAssembler::StoreHeapNumberValue(Node* object, Node* value) { | 
|  1287   return StoreObjectFieldNoWriteBarrier(object, HeapNumber::kValueOffset, value, |  1308   return StoreObjectFieldNoWriteBarrier(object, HeapNumber::kValueOffset, value, | 
|  1288                                         MachineRepresentation::kFloat64); |  1309                                         MachineRepresentation::kFloat64); | 
| (...skipping 7433 matching lines...) Expand 10 before | Expand all | Expand 10 after  Loading... | 
|  8722   Node* buffer_bit_field = LoadObjectField( |  8743   Node* buffer_bit_field = LoadObjectField( | 
|  8723       buffer, JSArrayBuffer::kBitFieldOffset, MachineType::Uint32()); |  8744       buffer, JSArrayBuffer::kBitFieldOffset, MachineType::Uint32()); | 
|  8724   Node* was_neutered_mask = Int32Constant(JSArrayBuffer::WasNeutered::kMask); |  8745   Node* was_neutered_mask = Int32Constant(JSArrayBuffer::WasNeutered::kMask); | 
|  8725  |  8746  | 
|  8726   return Word32NotEqual(Word32And(buffer_bit_field, was_neutered_mask), |  8747   return Word32NotEqual(Word32And(buffer_bit_field, was_neutered_mask), | 
|  8727                         Int32Constant(0)); |  8748                         Int32Constant(0)); | 
|  8728 } |  8749 } | 
|  8729  |  8750  | 
|  8730 }  // namespace internal |  8751 }  // namespace internal | 
|  8731 }  // namespace v8 |  8752 }  // namespace v8 | 
| OLD | NEW |