- 27 Aug, 2015 3 commits
-
-
titzer authored
Remove CompilationInfo::MayUseThis() and replace it with what we really want to know: MustReplaceUndefinedReceiverWithGlobalProxy. R=mstarzinger@chromium.org BUG= Review URL: https://codereview.chromium.org/1312713004 Cr-Commit-Position: refs/heads/master@{#30427}
-
mbrandy authored
Port 5d875a57 Original commit message: The previous hack with HInstanceOfKnownGlobal was not only slower, but also very brittle and required a lot of weird hacks to support it. And what's even more important it wasn't even correct (because a map check on the lhs is never enough for instanceof). The new implementation provides a sane runtime implementation for InstanceOf plus a fast case in the InstanceOfStub, combined with a proper specialization in the case of a known global in CrankShaft, which does only the prototype chain walk (coupled with a code dependency on the known global). As a drive-by-fix: Also fix the incorrect Object.prototype.isPrototypeOf implementation. R=bmeurer@chromium.org, jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com BUG=v8:4376 LOG=n Review URL: https://codereview.chromium.org/1314263002 Cr-Commit-Position: refs/heads/master@{#30419}
-
yangguo authored
R=bmeurer@chromium.org, mstarzinger@chromium.org, rmcilroy@chromium.org Review URL: https://codereview.chromium.org/1316943002 Cr-Commit-Position: refs/heads/master@{#30402}
-
- 26 Aug, 2015 4 commits
-
-
mbrandy authored
Port f4c079d4 Original commit message: There's no need to have one InstanceType per SIMD primitive type (this will not scale long-term). Also reduce the amount of code duplication and make it more robust wrt adding new SIMD types. R=bmeurer@chromium.org, jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1312513004 Cr-Commit-Position: refs/heads/master@{#30392}
-
mbrandy authored
Port b62dbf1e Original commit message: Support for undetectable strings was officially dropped in https://codereview.chromium.org/916753002, but the compilers weren't fixed properly. R=bmeurer@chromium.org, jyan@ca.ibm.com, dstence@us.ibm.com, joransiu@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1312473012 Cr-Commit-Position: refs/heads/master@{#30390}
-
bmeurer authored
%_IsObject(foo) is equivalent to typeof foo === 'object' and has exactly the same optimizations, so there's zero need for %_IsObject in our code base. R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1313903003 Cr-Commit-Position: refs/heads/master@{#30380}
-
yangguo authored
We look up %-functions in the context if not found in the runtime. R=bmeurer@chromium.org, mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1306993003 Cr-Commit-Position: refs/heads/master@{#30379}
-
- 21 Aug, 2015 2 commits
-
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1310603002 Cr-Commit-Position: refs/heads/master@{#30312}
-
mstarzinger authored
R=titzer@chromium.org Review URL: https://codereview.chromium.org/1309813002 Cr-Commit-Position: refs/heads/master@{#30309}
-
- 19 Aug, 2015 1 commit
-
-
titzer authored
R=rossberg@chromium.org BUG= Review URL: https://codereview.chromium.org/1301583005 Cr-Commit-Position: refs/heads/master@{#30254}
-
- 13 Aug, 2015 3 commits
-
-
bmeurer authored
Revert of [runtime] Remove useless IN builtin. (patchset #2 id:20001 of https://codereview.chromium.org/1295433002/ ) Reason for revert: Breaks win32 nosnap Original issue's description: > [runtime] Remove useless IN builtin. > > Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement > and %HasProperty anyway, and cannot be optimized, plus it had a weird > special fast case (which also involved at least one LOAD_IC plus some > intrinsic magic). > > R=yangguo@chromium.org,jarin@chromium.org > > Committed: https://crrev.com/72d60a1e80e81e2e68ca402665e2acbc46c5e471 > Cr-Commit-Position: refs/heads/master@{#30154} TBR=yangguo@chromium.org,jarin@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1288923002 Cr-Commit-Position: refs/heads/master@{#30155}
-
bmeurer authored
Similar to DELETE, the IN builtin is just a thin wrapper for %HasElement and %HasProperty anyway, and cannot be optimized, plus it had a weird special fast case (which also involved at least one LOAD_IC plus some intrinsic magic). R=yangguo@chromium.org,jarin@chromium.org Review URL: https://codereview.chromium.org/1295433002 Cr-Commit-Position: refs/heads/master@{#30154}
-
bmeurer authored
The DELETE builtin calls through to %DeleteProperty anyway, so we can as well skip the builtin completely and always call into the runtime directly. Also add different entries depending on whether calling code is in sloppy or strict/strong mode. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1291973002 Cr-Commit-Position: refs/heads/master@{#30148}
-
- 12 Aug, 2015 2 commits
-
-
bmeurer authored
Instead of using a sequence if (something == null && !IS_UNDETECTABLE(something))) { ... } which will be true if something is either null or undefined, it is way simpler and way more efficient to just write if (something === null || something === (void 0)) { ... } instead, which allows the compiler(s) to generate pretty decent code without any need to resort to type feedback from a CompareNil IC. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1288623003 Cr-Commit-Position: refs/heads/master@{#30135}
-
mstarzinger authored
R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1283653004 Cr-Commit-Position: refs/heads/master@{#30130}
-
- 07 Aug, 2015 1 commit
-
-
rossberg authored
Plus some renaming for consistency. R=adamk@chromium.org BUG=v8:811 LOG=N Review URL: https://codereview.chromium.org/1278783002 Cr-Commit-Position: refs/heads/master@{#30064}
-
- 05 Aug, 2015 1 commit
-
-
conradw authored
BUG=v8:3956 LOG=N Review URL: https://codereview.chromium.org/1270393002 Cr-Commit-Position: refs/heads/master@{#30033}
-
- 04 Aug, 2015 1 commit
-
-
bbudge authored
Change IS_SIMD_OBJECT to IS_SIMD_VALUE, and IsSimdObject to IsSimdValue. R=rossberg LOG=N BUG=v8:4124 Review URL: https://codereview.chromium.org/1253103006 Cr-Commit-Position: refs/heads/master@{#30004}
-
- 03 Aug, 2015 2 commits
-
-
yangguo authored
There is only one use case for it: String.prototype.search converts a string argument into a RegExp. The cache is used to avoid repeating that conversion. However, this does not make the added complexity worthwhile. Review URL: https://codereview.chromium.org/1267493006 Cr-Commit-Position: refs/heads/master@{#29985}
-
bbudge authored
Adds Int32x4, Bool32x4, Int16x8, Bool16x8, Int8x16, Bool8x16. Adds Simd128Value base heap object class. Changes heap/factory construction pattern to use arrays. Adds replaceLane functions to facilitate testing. NOPRESUBMIT=true (presubmit checks erroneously interpret array declaration in macro definition as variable size array.) LOG=Y BUG=v8:4124 Review URL: https://codereview.chromium.org/1250733005 Cr-Commit-Position: refs/heads/master@{#29974}
-
- 31 Jul, 2015 2 commits
-
-
bmeurer authored
This is the initial (big) step towards a more uniform implementation of the ToObject abstract operation (ES6 7.1.13), where we have a fallback implementation in JSReceiver::ToObject() and a fast (hydrogen) CodeStub to deal with the fast case (we should be able to do more cleanup on this in a followup CL). For natives we expose the abstract operation via a %_ToObject intrinsic, also exposed via a macro TO_OBJECT, that unifies the previous confusion with TO_OBJECT_INLINE, ToObject, TO_OBJECT, $toObject and %$toObject. Now the whole implementation of the abstract operation is context independent, meaning we don't need any magic in the builtins object nor the native context. R=mvstanton@chromium.org,yangguo@chromium.org Review URL: https://codereview.chromium.org/1266013006 Cr-Commit-Position: refs/heads/master@{#29953}
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1265923002 Cr-Commit-Position: refs/heads/master@{#29951}
-
- 30 Jul, 2015 6 commits
-
-
mbrandy authored
Port a67f31c4 R=yangguo@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG= Review URL: https://codereview.chromium.org/1263863003 Cr-Commit-Position: refs/heads/master@{#29940}
-
mbrandy authored
Port c5dd553c Original commit message: Adds interpreter entry and exit trampoline builtins. Also implements the Return bytecode handler and fixes a few bugs in InterpreterAssembler highlighted by running on other architectures. R=rmcilroy@chromium.org, michael_dawson@ca.ibm.com, jyan@ca.ibm.com, joransiu@ca.ibm.com BUG=v8:4280 LOG=N Review URL: https://codereview.chromium.org/1266053002 Cr-Commit-Position: refs/heads/master@{#29939}
-
yangguo authored
This fix makes the redirect mechanism a bit more stable. R=mvstanton@chromium.org Review URL: https://codereview.chromium.org/1269733002 Cr-Commit-Position: refs/heads/master@{#29936}
-
conradw authored
This avoids multiple ToFastProperties runtime calls and additional stack pushes in strong mode. BUG= Review URL: https://codereview.chromium.org/1266573003 Cr-Commit-Position: refs/heads/master@{#29925}
-
bmeurer authored
All runtime function get a context anyway, which is the same as the explicit one in case of DeclareGlobals and DeclareLookupSlot. So we can remove the additional parameter there. As an additional bonus, improve the runtime interface to DeclareLookupSlot. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1261863002 Cr-Commit-Position: refs/heads/master@{#29923}
-
mbrandy authored
Port 5dff4bdf Original commit message: No need to pass the name explicitly to the stubs; the runtime can extract the name from the ScopeInfo (the extension of the ScriptContext) on-demand easily without any performance impact. R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG= NOTREECHECKS=true Review URL: https://codereview.chromium.org/1258273002 Cr-Commit-Position: refs/heads/master@{#29906}
-
- 28 Jul, 2015 1 commit
-
-
bmeurer authored
Don't use different read/write slots for context globals, but let them share the same slot, which reduces the number of initial misses, and also saves some memory for large scripts. R=yangguo@chromium.org Review URL: https://codereview.chromium.org/1258213002 Cr-Commit-Position: refs/heads/master@{#29889}
-
- 27 Jul, 2015 3 commits
-
-
mbrandy authored
R=michael_dawson@ca.ibm.com, danno@chromium.org, yangguo@chromium.org BUG= Review URL: https://codereview.chromium.org/1255953003 Cr-Commit-Position: refs/heads/master@{#29884}
-
mbrandy authored
Port d6ee366d Original commit message: This is the initial round of optimizations for the LoadGlobalViaContextStub and StoreGlobalViaContextStub, basically turning them into platform code stubs to avoid the Crankshaft overhead in the fast case, and making the runtime interface cheaper. R=bmeurer@chromium.org, dstence@us.ibm.com, michael_dawson@ca.ibm.com BUG=chromium:510694 LOG=n Review URL: https://codereview.chromium.org/1261473002 Cr-Commit-Position: refs/heads/master@{#29867}
-
paul.lind authored
BUG= Review URL: https://codereview.chromium.org/1258843002 Cr-Commit-Position: refs/heads/master@{#29861}
-
- 24 Jul, 2015 2 commits
-
-
rossberg authored
R=mstarzinger@chromium.org BUG=513474,513475,513611,513612 LOG=N Review URL: https://codereview.chromium.org/1250423002 Cr-Commit-Position: refs/heads/master@{#29845}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1248443003 Cr-Commit-Position: refs/heads/master@{#29840}
-