https://codereview.chromium.org/1259203002/diff/140001/src/compiler/ast-graph-builder.cc
File src/compiler/ast-graph-builder.cc (right):
https://codereview.chromium.org/1259203002/diff/140001/src/compiler/ast-graph-builder.cc#newcode2606
src/compiler/ast-graph-builder.cc:2606: TailCallMode mode =
IMHO this will be highly confusing and might be a source of weird bugs
in the future. By just looking at a tail call site in a .js file you
will be mostly unable to tell whether it is actually a tailcall to the
runtime or a regular call. I'd really prefer to have this explicit at
the tail call site so people are aware of what they are doing, just like
we do in the native code stubs, where we have __ TailCallRuntime and __
CallRuntime.
https://codereview.chromium.org/1259203002/diff/140001/src/compiler/ia32/code-generator-ia32.cc
File src/compiler/ia32/code-generator-ia32.cc (right):
https://codereview.chromium.org/1259203002/diff/140001/src/compiler/ia32/code-generator-ia32.cc#newcode287
src/compiler/ia32/code-generator-ia32.cc:287: void
CodeGenerator::AssembleTailCallSetup(Instruction* instr) {
This is quite a lot of (complex) per-architecture code. I have a bad
feeling about this. Can we make this into explicit instruction opcodes
at least and do this magic as part of the instruction selection? This
code within code approach frightens me.
https://codereview.chromium.org/1259203002/diff/140001/src/compiler/ia32/instruction-selector-ia32.cc
File src/compiler/ia32/instruction-selector-ia32.cc (right):
https://codereview.chromium.org/1259203002/diff/140001/src/compiler/ia32/instruction-selector-ia32.cc#newcode912
src/compiler/ia32/instruction-selector-ia32.cc:912: bool
InstructionSelector::EmitTailCallSetup(Node* node, CallBuffer* buffer,
See my comment in code-generator-ia32.cc.
Can we somehow make the tail call setup into regular InstructionCodes?
We already have push and pop.
https://codereview.chromium.org/1259203002/
--
--
v8-dev mailing list
[email protected]
http://groups.google.com/group/v8-dev
---
You received this message because you are subscribed to the Google Groups "v8-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.