[Webkit-unassigned] [Bug 91052] JSC: LLInt should auto-generate our cross-platform C++ interpreter
bugzilla-daemon at webkit.org
bugzilla-daemon at webkit.org
Mon Aug 13 16:25:13 PDT 2012
https://bugs.webkit.org/show_bug.cgi?id=91052
--- Comment #10 from Filip Pizlo <fpizlo at apple.com> 2012-08-13 16:25:43 PST ---
(In reply to comment #9)
> (In reply to comment #8)
> > > >> Source/JavaScriptCore/llint/LowLevelInterpreter32_64.asm:92
> > > >> +end
> > > >
> > > > Why do you need this?
> > > >
> > > > Why isn't the translation of jmp <address> just:
> > > >
> > > > // the function you generate from the offlineasm
> > > > enum LLIntGlobalLabels {
> > > > _llint_op_something,
> > > > // ... lots more
> > > > };
> > > > void cLoop() {
> > > > LLIntGlobalLabels nextPC;
> > > > for (;;) {
> > > > switch (nextPC) {
> > > > case _llint_op_something:
> > > > // translation of jmp [PC]
> > > > nextPC = *bitwise_cast<LLIntGlobalLabels*>(PC);
> > > > continue;
> > > > // more things
> > > > }
> > > > }
> > > > }
> > >
> > > Because there are local labels where a jump to it really means a jump as opposed to goto next opcode. I need to be able to distinguish between the 2. One alternative is to make the C loop backend aware that the branch target specifier is the vPC, and use that as the distinguishing factor. I can see if I can make that work later.
> >
> > But the offlineasm already distinguishes by those two uses of jmp. It already has the notion of local labels, and global labels.
>
> The offlineasm distinguishes the declaration of the local and global labels. However, the jump sites uses the same vanilla imp instruction. In my case, I need the imp instruction to behave differently depending on which type of jump target we're jumping to.
It also distinguishes between references to labels. You *always know* whether you're jumping to a local or global label.
--
Configure bugmail: https://bugs.webkit.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the assignee for the bug.
More information about the webkit-unassigned
mailing list