- 30 Nov, 2015 2 commits
-
-
mstarzinger authored
R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1483933002 Cr-Commit-Position: refs/heads/master@{#32403}
-
neis authored
Use {FIRST,LAST}_JS_RECEIVER_TYPE instead. R=bmeurer@chromium.org BUG= Review URL: https://codereview.chromium.org/1486563002 Cr-Commit-Position: refs/heads/master@{#32393}
-
- 27 Nov, 2015 7 commits
-
-
bmeurer authored
Previously all contexts had a link to the global object, but what is required in most cases (except for the global load, store and delete case) is the native context. This also removes the second dummy global object that was still linked to every native context. We will add a different mechanism to ensure that builtins do not pollute the actual global object during bootstrapping. Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_nosnap_rel R=yangguo@chromium.org,mstarzinger@chromium.org Committed: https://crrev.com/d290f204938295bfecc5c8e645ccfcff6e80ddb8 Cr-Commit-Position: refs/heads/master@{#32375} Review URL: https://codereview.chromium.org/1480003002 Cr-Commit-Position: refs/heads/master@{#32381}
-
machenbach authored
Revert of [runtime] Replace global object link with native context link in all contexts. (patchset #3 id:40001 of https://codereview.chromium.org/1480003002/ ) Reason for revert: [Sheriff] Breaks: https://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/5472 Original issue's description: > [runtime] Replace global object link with native context link in all contexts. > > Previously all contexts had a link to the global object, but what is > required in most cases (except for the global load, store and delete > case) is the native context. > > This also removes the second dummy global object that was still linked > to every native context. We will add a different mechanism to ensure > that builtins do not pollute the actual global object during > bootstrapping. > > Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. > > R=yangguo@chromium.org > > Committed: https://crrev.com/d290f204938295bfecc5c8e645ccfcff6e80ddb8 > Cr-Commit-Position: refs/heads/master@{#32375} TBR=yangguo@chromium.org,mstarzinger@chromium.org,bmeurer@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1478303002 Cr-Commit-Position: refs/heads/master@{#32377}
-
jochen authored
Requires passing an explicit Isolate* to a bunch of static Assembler methods. BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474323002 Cr-Commit-Position: refs/heads/master@{#32376}
-
bmeurer authored
Previously all contexts had a link to the global object, but what is required in most cases (except for the global load, store and delete case) is the native context. This also removes the second dummy global object that was still linked to every native context. We will add a different mechanism to ensure that builtins do not pollute the actual global object during bootstrapping. Drive-by-fix: Unify some MacroAssembler magic and drop obsolete stuff. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1480003002 Cr-Commit-Position: refs/heads/master@{#32375}
-
jochen authored
It needs ot to flush icaches all over the place BUG=v8:2487 LOG=n R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1477343002 Cr-Commit-Position: refs/heads/master@{#32371}
-
verwaest authored
BUG=v8:1543, v8:3330, v8:3931 LOG=n Review URL: https://codereview.chromium.org/1481773003 Cr-Commit-Position: refs/heads/master@{#32370}
-
jochen authored
BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1474763008 Cr-Commit-Position: refs/heads/master@{#32359}
-
- 26 Nov, 2015 3 commits
-
-
rossberg authored
Moves all files related to AST and scopes into ast/, and all files related to scanner & parser to parsing/. Also eliminates a couple of spurious dependencies. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1481613002 Cr-Commit-Position: refs/heads/master@{#32351}
-
yangguo authored
R=verwaest@chromium.org Committed: https://crrev.com/93eb633214e0f97bf70ae30d2a07b7fbbaa78266 Cr-Commit-Position: refs/heads/master@{#32285} Review URL: https://codereview.chromium.org/1463803002 Cr-Commit-Position: refs/heads/master@{#32339}
-
jochen authored
Just use the same workaround as on win32. Also replace fmod calls with modulo() for consistency BUG=none R=yangguo@chromium.org LOG=n Review URL: https://codereview.chromium.org/1479773002 Cr-Commit-Position: refs/heads/master@{#32322}
-
- 25 Nov, 2015 8 commits
-
-
machenbach authored
Revert of [debugger] flood function for stepping before calling it. (patchset #7 id:120001 of https://codereview.chromium.org/1463803002/ ) Reason for revert: [Sheriff] Breaks layout tests: https://build.chromium.org/p/client.v8.fyi/builders/V8-Blink%20Linux%2064/builds/3074 Original issue's description: > [debugger] flood function for stepping before calling it. > > R=verwaest@chromium.org > > Committed: https://crrev.com/93eb633214e0f97bf70ae30d2a07b7fbbaa78266 > Cr-Commit-Position: refs/heads/master@{#32285} TBR=verwaest@chromium.org,mstarzinger@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1474943005 Cr-Commit-Position: refs/heads/master@{#32299}
-
jochen authored
R=jkummerow@chromium.org BUG=v8:2487 LOG=n Review URL: https://codereview.chromium.org/1473683004 Cr-Commit-Position: refs/heads/master@{#32287}
-
yangguo authored
R=verwaest@chromium.org Review URL: https://codereview.chromium.org/1463803002 Cr-Commit-Position: refs/heads/master@{#32285}
-
jochen authored
This is a preparation for requiring an isolate to construct a CodePatcher BUG=2487 R=epertoso@chromium.org LOG=n Review URL: https://codereview.chromium.org/1480573002 Cr-Commit-Position: refs/heads/master@{#32283}
-
jochen authored
We always want to have an Isolate, so just use an extra ctor arg BUG=2487 R=yangguo@chromium.org,mstarzinger@chromium.org LOG=n Review URL: https://codereview.chromium.org/1476763002 Cr-Commit-Position: refs/heads/master@{#32277}
-
titzer authored
Turns out we've been putting garbage into code->constant_pool_offset for quite some time. R=jkummerow@chromium.org BUG= Review URL: https://codereview.chromium.org/1478713002 Cr-Commit-Position: refs/heads/master@{#32269}
-
mstarzinger authored
This passes the new.target value in a register instead of through a side-channel via the construct stub. The interpreter entry trampoline stores this value in a bytecode register so that it can be accessed directly by the interpreter. The size of the interpreter stack frame hence grows by one slot. R=oth@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1469313002 Cr-Commit-Position: refs/heads/master@{#32264}
-
bmeurer authored
This is the initial step towards refactoring the regexp literation creation code to make it less obscure and more similar to the mechanism we use to create array and object literals. There's now a new runtime entry %CreateRegExpLiteral with the same interface as the entries for array and object literals, except that we still pass the flags as string. Instead of embedding the hand written native to clone JSRegExp instances we now have a FastCloneRegExpStub, which behaves similar to the other FastCloneShallowArrayStub and FastCloneShallowObjectStub that we already had. R=mlippautz@chromium.org, yangguo@chromium.org Review URL: https://codereview.chromium.org/1475823003 Cr-Commit-Position: refs/heads/master@{#32255}
-
- 24 Nov, 2015 5 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1467473002 Cr-Commit-Position: refs/heads/master@{#32223}
-
ishell authored
Reshuffle registers in JSConstructStub to avoid trashing costructor and new.target on fast path (so we don't need to push/pop them). This CL also fixed register usages in MacroAssembler::Allocate() broken by 2fc2cb99 (r32144). BUG=chromium:560239 LOG=Y Review URL: https://codereview.chromium.org/1468073004 Cr-Commit-Position: refs/heads/master@{#32219}
-
jochen authored
We still share the code globally, but if we wanted, it would be easy to make it per isolate now BUG=v8:2487 R=yangguo@chromium.org,jkummerow@chromium.org LOG=n Review URL: https://codereview.chromium.org/1468313004 Cr-Commit-Position: refs/heads/master@{#32217}
-
epertoso authored
BUG= Review URL: https://codereview.chromium.org/1407313004 Cr-Commit-Position: refs/heads/master@{#32213}
-
mstarzinger authored
This passes the new.target value in a register instead of through a side-channel via the construct stub. Note that only TurboFan code uses the register value so far, but unoptimized code will be switched soon. R=bmeurer@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1460503008 Cr-Commit-Position: refs/heads/master@{#32203}
-
- 23 Nov, 2015 4 commits
-
-
bmeurer authored
There's no point in collecting feedback for super constructor calls, because in all (interesting) cases we can gather (better) feedback from other sources (i.e. via inlining or via using a LOAD_IC to get to the [[Prototype]] of the target). So CallConstructStub is now only used for new Foo(...args) sites where we want to collect feedback in the baseline compiler. The optimizing compilers, Reflect.construct and super constructor calls use the Construct builtin directly, which allows us to remove some weird code from the CallConstructStub (and opens the possibility for more code sharing with the CallICStub, maybe even going for a ConstructICStub). Also remove the 100% redundant HCallNew instruction, which is just a wrapper for the Construct builtin anyway (indirectly via the CallConstructStub). Drive-by-fix: Drop unused has_function_cache bit on Code objects. R=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4413, v8:4430 LOG=n Review URL: https://codereview.chromium.org/1469793002 Cr-Commit-Position: refs/heads/master@{#32172}
-
mstarzinger authored
This ensures that the ArgumentsAdaptorTrampoline does not clobber the new.target value, but rather passes it through to the callee unaltered. Note that callees do not yet use the new.target value so far. This is a preparatory CL to allows us passing new.target in a register instead of via a side-channel through the construct stub frame. R=mvstanton@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1458103003 Cr-Commit-Position: refs/heads/master@{#32171}
-
jochen authored
BUG=2487 R=ulan@chromium.org LOG=n Review URL: https://codereview.chromium.org/1457223005 Cr-Commit-Position: refs/heads/master@{#32164}
-
bmeurer authored
The CallICStub has call-site specific knowledge about the receiver, which we did not utilize; plus the CallICStub does in some case know whether it is about to [[Call]] a function or potentially some other callable. In the common case we actually know that the target is a function and so we can use the CallFunction builtin directly instead of redispatching in the Call builtin. BUG=chromium:555127, v8:4413 LOG=n Review URL: https://codereview.chromium.org/1470803002 Cr-Commit-Position: refs/heads/master@{#32163}
-
- 20 Nov, 2015 2 commits
-
-
ishell authored
The old code was not ready for properly initialize objects with non standard headers and non zero in-object properties number. MacroAssembler::Allocate() implementations now return both start and end addresses of the new object (done by parameter renaming). Review URL: https://codereview.chromium.org/1459083003 Cr-Commit-Position: refs/heads/master@{#32144}
-
bmeurer authored
This adds a new %NewArray runtime entry, which constructs a new JSArray and does the subclassing correctly (to the same degree that %NewObject does currently), and also deals properly with the AllocationSite feedback mechanism. This runtime entry will be used by TurboFan and is also used as a fallback in the subclassing case in the stub currently. BUG=v8:3101, v8:3330 LOG=n Review URL: https://codereview.chromium.org/1456423003 Cr-Commit-Position: refs/heads/master@{#32131}
-
- 19 Nov, 2015 4 commits
-
-
mstarzinger authored
This removes some dead code from the function invocation code when the arguments adaptor trampoline is called. This seems to be leftover code from when we used to support calling code objects directly. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1455293004 Cr-Commit-Position: refs/heads/master@{#32126}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1448933002 Cr-Commit-Position: refs/heads/master@{#32120}
-
mstarzinger authored
This changes the interface descriptor for the arguments adaptor to also contain an explicit register for the new.target value. Note that the stub still clobbers the register for now. This is a preparatory CL to allows us passing new.target in a register instead of via a side-channel through the construct stub frame. R=bmeurer@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1457313002 Cr-Commit-Position: refs/heads/master@{#32117}
-
mstarzinger authored
This adds an explicit parameter to the call descriptor having kind kJSCallFunction representing the new.target value. Note that for now this parameter is not yet passed in and hence cannot be used yet. Also contains some refactoring of how parameter index value are calculated, establishing Linkage as the central point for such index computations. This is a preparatory CL to allows us passing new.target in a register instead of via a side-channel through the construct stub frame. R=bmeurer@chromium.org BUG=v8:4544 LOG=n Review URL: https://codereview.chromium.org/1461973002 Cr-Commit-Position: refs/heads/master@{#32112}
-
- 18 Nov, 2015 1 commit
-
-
mstarzinger authored
This is to re-establish a single choke point for lazy compile stubs in preparation for CallRuntimePassFunction being changed soon. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1456003003 Cr-Commit-Position: refs/heads/master@{#32095}
-
- 17 Nov, 2015 4 commits
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1453113002 Cr-Commit-Position: refs/heads/master@{#32044}
-
mvstanton authored
BUG= Review URL: https://codereview.chromium.org/1424153003 Cr-Commit-Position: refs/heads/master@{#32040}
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1442643009 Cr-Commit-Position: refs/heads/master@{#32023}
-
bmeurer authored
This is the first part to refactoring the JSNativeContextSpecialization class, which has grown way too big recently. Also don't collect cross context feedback for the CallIC in general. Neither TurboFan nor Crankshaft can make any use of cross context JSFunction feedback that is collected by the CallIC, so there's no point in gathering that feedback at all (it just complicates the checking that is necessary in the compilers). What we should do instead at some point (when Crankshaft becomes less important) is to collect the SharedFunctionInfo as feedback for those cases. R=yangguo@chromium.org BUG=v8:4470 LOG=n Review URL: https://codereview.chromium.org/1451273002 Cr-Commit-Position: refs/heads/master@{#32022}
-