| OLD | NEW |
| 1 // Copyright 2015 the V8 project authors. All rights reserved. | 1 // Copyright 2015 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 #include "src/compiler/bytecode-graph-builder.h" | 5 #include "src/compiler/bytecode-graph-builder.h" |
| 6 | 6 |
| 7 #include "src/compiler/linkage.h" | 7 #include "src/compiler/linkage.h" |
| 8 #include "src/compiler/operator-properties.h" | 8 #include "src/compiler/operator-properties.h" |
| 9 #include "src/interpreter/bytecode-array-iterator.h" | 9 #include "src/interpreter/bytecode-array-iterator.h" |
| 10 | 10 |
| (...skipping 175 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 186 } | 186 } |
| 187 | 187 |
| 188 | 188 |
| 189 void BytecodeGraphBuilder::VisitLdaSmi8( | 189 void BytecodeGraphBuilder::VisitLdaSmi8( |
| 190 const interpreter::BytecodeArrayIterator& iterator) { | 190 const interpreter::BytecodeArrayIterator& iterator) { |
| 191 Node* node = jsgraph()->Constant(iterator.GetImmediateOperand(0)); | 191 Node* node = jsgraph()->Constant(iterator.GetImmediateOperand(0)); |
| 192 environment()->BindAccumulator(node); | 192 environment()->BindAccumulator(node); |
| 193 } | 193 } |
| 194 | 194 |
| 195 | 195 |
| 196 void BytecodeGraphBuilder::VisitLdaConstantWide( |
| 197 const interpreter::BytecodeArrayIterator& iterator) { |
| 198 Node* node = jsgraph()->Constant(iterator.GetConstantForIndexOperand(0)); |
| 199 environment()->BindAccumulator(node); |
| 200 } |
| 201 |
| 202 |
| 196 void BytecodeGraphBuilder::VisitLdaConstant( | 203 void BytecodeGraphBuilder::VisitLdaConstant( |
| 197 const interpreter::BytecodeArrayIterator& iterator) { | 204 const interpreter::BytecodeArrayIterator& iterator) { |
| 198 Node* node = jsgraph()->Constant(iterator.GetConstantForIndexOperand(0)); | 205 Node* node = jsgraph()->Constant(iterator.GetConstantForIndexOperand(0)); |
| 199 environment()->BindAccumulator(node); | 206 environment()->BindAccumulator(node); |
| 200 } | 207 } |
| 201 | 208 |
| 202 | 209 |
| 203 void BytecodeGraphBuilder::VisitLdaUndefined( | 210 void BytecodeGraphBuilder::VisitLdaUndefined( |
| 204 const interpreter::BytecodeArrayIterator& iterator) { | 211 const interpreter::BytecodeArrayIterator& iterator) { |
| 205 Node* node = jsgraph()->UndefinedConstant(); | 212 Node* node = jsgraph()->UndefinedConstant(); |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 254 UNIMPLEMENTED(); | 261 UNIMPLEMENTED(); |
| 255 } | 262 } |
| 256 | 263 |
| 257 | 264 |
| 258 void BytecodeGraphBuilder::VisitLdaGlobalStrict( | 265 void BytecodeGraphBuilder::VisitLdaGlobalStrict( |
| 259 const interpreter::BytecodeArrayIterator& iterator) { | 266 const interpreter::BytecodeArrayIterator& iterator) { |
| 260 UNIMPLEMENTED(); | 267 UNIMPLEMENTED(); |
| 261 } | 268 } |
| 262 | 269 |
| 263 | 270 |
| 271 void BytecodeGraphBuilder::VisitLdaGlobalSloppyWide( |
| 272 const interpreter::BytecodeArrayIterator& iterator) { |
| 273 UNIMPLEMENTED(); |
| 274 } |
| 275 |
| 276 |
| 277 void BytecodeGraphBuilder::VisitLdaGlobalStrictWide( |
| 278 const interpreter::BytecodeArrayIterator& iterator) { |
| 279 UNIMPLEMENTED(); |
| 280 } |
| 281 |
| 282 |
| 264 void BytecodeGraphBuilder::VisitStaGlobalSloppy( | 283 void BytecodeGraphBuilder::VisitStaGlobalSloppy( |
| 265 const interpreter::BytecodeArrayIterator& iterator) { | 284 const interpreter::BytecodeArrayIterator& iterator) { |
| 266 UNIMPLEMENTED(); | 285 UNIMPLEMENTED(); |
| 267 } | 286 } |
| 268 | 287 |
| 269 | 288 |
| 270 void BytecodeGraphBuilder::VisitStaGlobalStrict( | 289 void BytecodeGraphBuilder::VisitStaGlobalStrict( |
| 271 const interpreter::BytecodeArrayIterator& iterator) { | 290 const interpreter::BytecodeArrayIterator& iterator) { |
| 272 UNIMPLEMENTED(); | 291 UNIMPLEMENTED(); |
| 273 } | 292 } |
| 274 | 293 |
| 294 void BytecodeGraphBuilder::VisitStaGlobalSloppyWide( |
| 295 const interpreter::BytecodeArrayIterator& iterator) { |
| 296 UNIMPLEMENTED(); |
| 297 } |
| 298 |
| 299 |
| 300 void BytecodeGraphBuilder::VisitStaGlobalStrictWide( |
| 301 const interpreter::BytecodeArrayIterator& iterator) { |
| 302 UNIMPLEMENTED(); |
| 303 } |
| 304 |
| 275 | 305 |
| 276 void BytecodeGraphBuilder::VisitLdaContextSlot( | 306 void BytecodeGraphBuilder::VisitLdaContextSlot( |
| 277 const interpreter::BytecodeArrayIterator& iterator) { | 307 const interpreter::BytecodeArrayIterator& iterator) { |
| 278 UNIMPLEMENTED(); | 308 UNIMPLEMENTED(); |
| 279 } | 309 } |
| 280 | 310 |
| 281 | 311 |
| 282 void BytecodeGraphBuilder::VisitStaContextSlot( | 312 void BytecodeGraphBuilder::VisitStaContextSlot( |
| 283 const interpreter::BytecodeArrayIterator& iterator) { | 313 const interpreter::BytecodeArrayIterator& iterator) { |
| 284 UNIMPLEMENTED(); | 314 UNIMPLEMENTED(); |
| (...skipping 17 matching lines...) Expand all Loading... |
| 302 UNIMPLEMENTED(); | 332 UNIMPLEMENTED(); |
| 303 } | 333 } |
| 304 | 334 |
| 305 | 335 |
| 306 void BytecodeGraphBuilder::VisitKeyedLoadICStrict( | 336 void BytecodeGraphBuilder::VisitKeyedLoadICStrict( |
| 307 const interpreter::BytecodeArrayIterator& iterator) { | 337 const interpreter::BytecodeArrayIterator& iterator) { |
| 308 UNIMPLEMENTED(); | 338 UNIMPLEMENTED(); |
| 309 } | 339 } |
| 310 | 340 |
| 311 | 341 |
| 342 void BytecodeGraphBuilder::VisitLoadICSloppyWide( |
| 343 const interpreter::BytecodeArrayIterator& iterator) { |
| 344 UNIMPLEMENTED(); |
| 345 } |
| 346 |
| 347 |
| 348 void BytecodeGraphBuilder::VisitLoadICStrictWide( |
| 349 const interpreter::BytecodeArrayIterator& iterator) { |
| 350 UNIMPLEMENTED(); |
| 351 } |
| 352 |
| 353 |
| 354 void BytecodeGraphBuilder::VisitKeyedLoadICSloppyWide( |
| 355 const interpreter::BytecodeArrayIterator& iterator) { |
| 356 UNIMPLEMENTED(); |
| 357 } |
| 358 |
| 359 |
| 360 void BytecodeGraphBuilder::VisitKeyedLoadICStrictWide( |
| 361 const interpreter::BytecodeArrayIterator& iterator) { |
| 362 UNIMPLEMENTED(); |
| 363 } |
| 364 |
| 365 |
| 312 void BytecodeGraphBuilder::VisitStoreICSloppy( | 366 void BytecodeGraphBuilder::VisitStoreICSloppy( |
| 313 const interpreter::BytecodeArrayIterator& iterator) { | 367 const interpreter::BytecodeArrayIterator& iterator) { |
| 314 UNIMPLEMENTED(); | 368 UNIMPLEMENTED(); |
| 315 } | 369 } |
| 316 | 370 |
| 317 | 371 |
| 318 void BytecodeGraphBuilder::VisitStoreICStrict( | 372 void BytecodeGraphBuilder::VisitStoreICStrict( |
| 319 const interpreter::BytecodeArrayIterator& iterator) { | 373 const interpreter::BytecodeArrayIterator& iterator) { |
| 320 UNIMPLEMENTED(); | 374 UNIMPLEMENTED(); |
| 321 } | 375 } |
| 322 | 376 |
| 323 | 377 |
| 324 void BytecodeGraphBuilder::VisitKeyedStoreICSloppy( | 378 void BytecodeGraphBuilder::VisitKeyedStoreICSloppy( |
| 325 const interpreter::BytecodeArrayIterator& iterator) { | 379 const interpreter::BytecodeArrayIterator& iterator) { |
| 326 UNIMPLEMENTED(); | 380 UNIMPLEMENTED(); |
| 327 } | 381 } |
| 328 | 382 |
| 329 | 383 |
| 330 void BytecodeGraphBuilder::VisitKeyedStoreICStrict( | 384 void BytecodeGraphBuilder::VisitKeyedStoreICStrict( |
| 331 const interpreter::BytecodeArrayIterator& iterator) { | 385 const interpreter::BytecodeArrayIterator& iterator) { |
| 332 UNIMPLEMENTED(); | 386 UNIMPLEMENTED(); |
| 333 } | 387 } |
| 334 | 388 |
| 335 | 389 |
| 390 void BytecodeGraphBuilder::VisitStoreICSloppyWide( |
| 391 const interpreter::BytecodeArrayIterator& iterator) { |
| 392 UNIMPLEMENTED(); |
| 393 } |
| 394 |
| 395 |
| 396 void BytecodeGraphBuilder::VisitStoreICStrictWide( |
| 397 const interpreter::BytecodeArrayIterator& iterator) { |
| 398 UNIMPLEMENTED(); |
| 399 } |
| 400 |
| 401 |
| 402 void BytecodeGraphBuilder::VisitKeyedStoreICSloppyWide( |
| 403 const interpreter::BytecodeArrayIterator& iterator) { |
| 404 UNIMPLEMENTED(); |
| 405 } |
| 406 |
| 407 |
| 408 void BytecodeGraphBuilder::VisitKeyedStoreICStrictWide( |
| 409 const interpreter::BytecodeArrayIterator& iterator) { |
| 410 UNIMPLEMENTED(); |
| 411 } |
| 412 |
| 413 |
| 336 void BytecodeGraphBuilder::VisitPushContext( | 414 void BytecodeGraphBuilder::VisitPushContext( |
| 337 const interpreter::BytecodeArrayIterator& iterator) { | 415 const interpreter::BytecodeArrayIterator& iterator) { |
| 338 UNIMPLEMENTED(); | 416 UNIMPLEMENTED(); |
| 339 } | 417 } |
| 340 | 418 |
| 341 | 419 |
| 342 void BytecodeGraphBuilder::VisitPopContext( | 420 void BytecodeGraphBuilder::VisitPopContext( |
| 343 const interpreter::BytecodeArrayIterator& iterator) { | 421 const interpreter::BytecodeArrayIterator& iterator) { |
| 344 UNIMPLEMENTED(); | 422 UNIMPLEMENTED(); |
| 345 } | 423 } |
| (...skipping 468 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 814 | 892 |
| 815 void BytecodeGraphBuilder::UpdateControlDependencyToLeaveFunction(Node* exit) { | 893 void BytecodeGraphBuilder::UpdateControlDependencyToLeaveFunction(Node* exit) { |
| 816 if (environment()->IsMarkedAsUnreachable()) return; | 894 if (environment()->IsMarkedAsUnreachable()) return; |
| 817 environment()->MarkAsUnreachable(); | 895 environment()->MarkAsUnreachable(); |
| 818 exit_controls_.push_back(exit); | 896 exit_controls_.push_back(exit); |
| 819 } | 897 } |
| 820 | 898 |
| 821 } // namespace compiler | 899 } // namespace compiler |
| 822 } // namespace internal | 900 } // namespace internal |
| 823 } // namespace v8 | 901 } // namespace v8 |
| OLD | NEW |