- 01 Dec, 2015 1 commit
-
-
yangguo authored
Native scripts must not accidentally pollute the global object. R=bmeurer@chromium.org Review URL: https://codereview.chromium.org/1490783002 Cr-Commit-Position: refs/heads/master@{#32469}
-
- 19 Nov, 2015 1 commit
-
-
verwaest authored
BUG= Review URL: https://codereview.chromium.org/1448933002 Cr-Commit-Position: refs/heads/master@{#32120}
-
- 05 Nov, 2015 1 commit
-
-
bmeurer authored
The %_CallFunction doesn't implement the call sequence properly, it doesn't do the receiver wrapping, nor does it check for classConstructor. Also the eager deoptimization for %_CallFunction was seriously b0rked (we must have been lucky with TurboFan so far). R=yangguo@chromium.org BUG=v8:4413 LOG=n Review URL: https://codereview.chromium.org/1419813010 Cr-Commit-Position: refs/heads/master@{#31821}
-
- 22 Oct, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1413173003 Cr-Commit-Position: refs/heads/master@{#31467}
-
- 15 Oct, 2015 1 commit
-
-
yangguo authored
R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1404943002 Cr-Commit-Position: refs/heads/master@{#31285}
-
- 13 Oct, 2015 1 commit
-
-
mstarzinger authored
This moves JavaScript source files that are bundled with V8 into a separate directory. The goal is to improve code readability and also being able to formalize ideal reviewers by subsequently adding the OWNERS file. These files almost exclusively contain implementations of methods fully specified by ES6. Note that files in the "debug" directory as well as the "d8.js" file aren't affected by this change. R=rossberg@chromium.org Review URL: https://codereview.chromium.org/1398733002 Cr-Commit-Position: refs/heads/master@{#31230}
-
- 07 Oct, 2015 1 commit
-
-
littledan authored
In ES2015, section 20.3.1.15, TimeClip (an internal algorihtm which is called when normalizing Date representations) is specified to add 0 to its result, which converts -0 into +0. This patch adds that conversion to the Date code. It is verified by the test262 test built-ins/Date/TimeClip_negative_zero R=adamk Review URL: https://codereview.chromium.org/1387293002 Cr-Commit-Position: refs/heads/master@{#31159}
-
- 01 Oct, 2015 1 commit
-
-
bmeurer authored
Introduce %_ToNumber intrinsic, which just calls to the existing ToNumberStub, and remove all uses of our custom JavaScript plus intrinsics based ToNumber and friends. Also replace the TO_NUMBER_INLINE macro with TO_NUMBER, which is currently a wrapper for %_ToNumber. Newly written JS code should use TO_NUMBER (similar to TO_STRING, TO_INT32, and friends). Also finally remove the DefaultString/DefaultNumber builtins, which are basically the ES5 version of ToPrimitive. Now all code uses the ES6 version, which is implemented in Object::ToPrimitive and JSReceiver::ToPrimitive in C++. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=jarin@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1384443002 Cr-Commit-Position: refs/heads/master@{#31054}
-
- 23 Sep, 2015 1 commit
-
-
bmeurer authored
Introduce a new macro TO_STRING that maps to %_ToString and use that instead of calling into any of the ToString/NonStringToString JavaScript builtins. Also remove the TO_STRING_INLINE macro, which is basically obsolete with %_ToString. We still have a few uses of ToString left (via the utils export mechanism), where we need to investigate whether we will tank badly if we replace them with TO_STRING as well. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=yangguo@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1323543002 Cr-Commit-Position: refs/heads/master@{#30895}
-
- 18 Sep, 2015 1 commit
-
-
bmeurer authored
This way we can finally remove the ES5 ToPrimitive builtin from runtime.js, and the Date Constructor now properly supports @@toPrimitive for the single argument case as well. CQ_INCLUDE_TRYBOTS=tryserver.v8:v8_linux_layout_dbg,v8_linux_nosnap_dbg R=rossberg@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1346893003 Cr-Commit-Position: refs/heads/master@{#30832}
-
- 31 Aug, 2015 2 commits
-
-
littledan authored
This is a change for ES2015. Date objects have mutable state, so having a mutable prototype is bad for SES requirements, and it is an inconsistency from the typical ES2015 class style of objects BUG=v8:4004 LOG=Y R=adamk Review URL: https://codereview.chromium.org/1317403002 Cr-Commit-Position: refs/heads/master@{#30486}
-
bmeurer authored
This way we don't need to expose JSReceiver::OrdinaryToPrimitive as runtime function, and we don't need the separate JS trampoline. This also adds tests for ToPrimitive on date objects, which are special. R=mstarzinger@chromium.org BUG=v8:4307 LOG=n Review URL: https://codereview.chromium.org/1324713002 Cr-Commit-Position: refs/heads/master@{#30473}
-
- 28 Aug, 2015 2 commits
-
-
yangguo authored
R=cbruni@chromium.org,mlippautz@chromium.org Review URL: https://codereview.chromium.org/1318043002 Cr-Commit-Position: refs/heads/master@{#30438}
-
bmeurer authored
This is the first step towards a spec compliant ToPrimitive implementation (and therefore spec compliant ToNumber, ToString, ToName, and friends). It adds support for the @@toPrimitive symbol that was introduced with ES2015, and also adds the new Symbol.prototype[@@toPrimitive] and Date.prototype[@@toPrimitive] initial properties. There are now runtime functions for %ToPrimitive, %ToNumber and %ToString, which do the right thing and should be used as fallbacks instead of the hairy runtime.js implementations. I will do the same for the other conversion operations mentioned by the spec in follow up CLs. Once everything is in place we can look into optimizing things further, so that we don't always call into the runtime. Also fixed Date.prototype.toJSON to be spec compliant. R=mstarzinger@chromium.org, yangguo@chromium.org BUG=v8:4307 LOG=y Review URL: https://codereview.chromium.org/1306303003 Cr-Commit-Position: refs/heads/master@{#30434}
-
- 26 Aug, 2015 1 commit
-
-
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}
-
- 24 Aug, 2015 1 commit
-
-
yangguo authored
R=mstarzinger@chromium.org Review URL: https://codereview.chromium.org/1307963002 Cr-Commit-Position: refs/heads/master@{#30319}
-
- 19 Aug, 2015 1 commit
-
-
yangguo authored
This mainly changes how we share ToBoolean, ToNumber and ToString between native scripts. Instead of putting them on the js builtins object, we now explicitly export and import those functions. I also had to change the import/export mechanism slightly. Previously, exports and imports are hooked up after all native scripts have been executed. This means that imported functions cannot be called at the time the native script is executed. However, since ToBoolean (and also e.g. ObjectDefineProperties) is called in v8natives.js, I changed the mechanism so that exports from previous native scripts (runtime.js for ToBoolean) is imported immediately and can be called. R=cbruni@chromium.org Review URL: https://codereview.chromium.org/1302533002 Cr-Commit-Position: refs/heads/master@{#30244}
-
- 14 Aug, 2015 1 commit
-
-
yangguo authored
Using a temporary container object instead. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1293493003 Cr-Commit-Position: refs/heads/master@{#30175}
-
- 31 Jul, 2015 1 commit
-
-
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}
-
- 23 Jun, 2015 2 commits
-
-
arv authored
We used to call toString as a method which is not safe. BUG=v8:4225 LOG=Y R=adamk, littledan CQ_INCLUDE_TRYBOTS=tryserver.chromium.linux:linux_chromium_rel_ng;tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1200033003 Cr-Commit-Position: refs/heads/master@{#29242}
-
mathias authored
TEST=mjsunit/date BUG=v8:4226 LOG=N Review URL: https://codereview.chromium.org/1203733002 Cr-Commit-Position: refs/heads/master@{#29240}
-
- 03 Jun, 2015 1 commit
-
-
bmeurer authored
Previously the %_DateField intrinsic would also check the object and throw an exception if you happen to pass something that is not a valid JSDate, which (a) violates our policy for instrinsics and (b) is hard to optimize in TurboFan (even Crankshaft has a hard time, but there we will never inline the relevant builtins, so it doesn't show up). The throwing part is now a separate intrinsics %_ThrowIfNotADate that throws an exception in full codegen and deoptimizes in Crankshaft, which means the code for the current use cases is roughly the same (modulo some register renamings/gap moves). R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1167813003 Cr-Commit-Position: refs/heads/master@{#28782}
-
- 26 May, 2015 1 commit
-
-
yangguo authored
Revert of Revert of Hook up more import/exports in natives. (patchset #1 id:1 of https://codereview.chromium.org/1154743003/) Reason for revert: Unrelated failure that was uncovered by this CL has been fixed (https://codereview.chromium.org/1152243002/) Original issue's description: > Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/1154483002/) > > Reason for revert: > [Sheriff] Speculative revert for gc stress failures: > http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481 > > Original issue's description: > > Hook up more import/exports in natives. > > > > R=jkummerow@chromium.org > > > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > > Cr-Commit-Position: refs/heads/master@{#28573} > > > > Committed: https://crrev.com/e13a39dd7f4062898709d7c68900677df0513995 > > Cr-Commit-Position: refs/heads/master@{#28578} > > TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/eb0024d1dbdda5f51b006dd54887404ee6c5cbfc > Cr-Commit-Position: refs/heads/master@{#28584} TBR=jkummerow@chromium.org,erik.corry@gmail.com,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1149773003 Cr-Commit-Position: refs/heads/master@{#28608}
-
- 22 May, 2015 4 commits
-
-
machenbach authored
Revert of Hook up more import/exports in natives. (patchset #3 id:40001 of https://codereview.chromium.org/1154483002/) Reason for revert: [Sheriff] Speculative revert for gc stress failures: http://build.chromium.org/p/client.v8/builders/V8%20Linux64%20GC%20Stress%20-%20custom%20snapshot/builds/481 Original issue's description: > Hook up more import/exports in natives. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > Cr-Commit-Position: refs/heads/master@{#28573} > > Committed: https://crrev.com/e13a39dd7f4062898709d7c68900677df0513995 > Cr-Commit-Position: refs/heads/master@{#28578} TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1154743003 Cr-Commit-Position: refs/heads/master@{#28584}
-
yangguo authored
R=jkummerow@chromium.org Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 Cr-Commit-Position: refs/heads/master@{#28573} Review URL: https://codereview.chromium.org/1154483002 Cr-Commit-Position: refs/heads/master@{#28578}
-
machenbach authored
Revert of Hook up more import/exports in natives. (patchset #2 id:20001 of https://codereview.chromium.org/1154483002/) Reason for revert: [Sheriff] Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Win32%20-%20nosnap%20-%20shared/builds/6943 Original issue's description: > Hook up more import/exports in natives. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/7a918ac9658d11778f39593bfcc19d7c506defd9 > Cr-Commit-Position: refs/heads/master@{#28573} TBR=jkummerow@chromium.org,erik.corry@gmail.com,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1154793003 Cr-Commit-Position: refs/heads/master@{#28574}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1154483002 Cr-Commit-Position: refs/heads/master@{#28573}
-
- 21 May, 2015 1 commit
-
-
yangguo authored
Also changed string.js and math.js to adapt this change. R=jkummerow@chromium.org Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd Cr-Commit-Position: refs/heads/master@{#28521} Review URL: https://codereview.chromium.org/1143993003 Cr-Commit-Position: refs/heads/master@{#28533}
-
- 20 May, 2015 2 commits
-
-
jkummerow authored
Revert of Use shared container to manage imports/exports. (patchset #2 id:20001 of https://codereview.chromium.org/1143993003/) Reason for revert: Breaks nosnap bots Original issue's description: > Use shared container to manage imports/exports. > > Also changed string.js and math.js to adapt this change. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/e25058b0b7b9831162579564fc8935d568c1ecdd > Cr-Commit-Position: refs/heads/master@{#28521} TBR=yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1144163002 Cr-Commit-Position: refs/heads/master@{#28523}
-
yangguo authored
Also changed string.js and math.js to adapt this change. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1143993003 Cr-Commit-Position: refs/heads/master@{#28521}
-
- 12 May, 2015 3 commits
-
-
yangguo authored
Review URL: https://codereview.chromium.org/1138173002 Cr-Commit-Position: refs/heads/master@{#28367}
-
yangguo authored
Revert of Use function wrapper argument to expose internal arrays to native scripts. (patchset #2 id:20001 of https://codereview.chromium.org/1127983003/) Reason for revert: custom snapshot builder failing. Original issue's description: > Use function wrapper argument to expose internal arrays to native scripts. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/a9b5a1795449d94387218d25baed2c2b3c4fbadc > Cr-Commit-Position: refs/heads/master@{#28354} TBR=jkummerow@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1123353008 Cr-Commit-Position: refs/heads/master@{#28355}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1127983003 Cr-Commit-Position: refs/heads/master@{#28354}
-
- 11 May, 2015 1 commit
-
-
yangguo authored
For the moment, we only pass the global object (the one we are setting up). A few smaller changes were necessary to avoid failures in test-object-observe/DontLeakContextOnObserve. Otherwise the global object would be retained by being context allocated, leading to test failure. R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1132513003 Cr-Commit-Position: refs/heads/master@{#28331}
-
- 07 May, 2015 1 commit
-
-
yangguo authored
Revert of Revert of Wrap runtime.js in a function. (patchset #1 id:1 of https://codereview.chromium.org/1123353004/) Reason for revert: Failing test has been fixed. Original issue's description: > Revert of Wrap runtime.js in a function. (patchset #2 id:20001 of https://codereview.chromium.org/1126213002/) > > Reason for revert: > [Sheriff] Breaks nosnap: > http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/2872 > > Original issue's description: > > Wrap runtime.js in a function. > > > > R=jkummerow@chromium.org > > > > Committed: https://crrev.com/65c56d49b2d671ac9e379de726bff3eb03a508c1 > > Cr-Commit-Position: refs/heads/master@{#28275} > > TBR=jkummerow@chromium.org,yangguo@chromium.org > NOPRESUBMIT=true > NOTREECHECKS=true > NOTRY=true > > Committed: https://crrev.com/62bd294f909ff448d0f876a3d745966a24cdc3f7 > Cr-Commit-Position: refs/heads/master@{#28277} TBR=jkummerow@chromium.org,machenbach@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1131843002 Cr-Commit-Position: refs/heads/master@{#28287}
-
- 06 May, 2015 2 commits
-
-
machenbach authored
Revert of Wrap runtime.js in a function. (patchset #2 id:20001 of https://codereview.chromium.org/1126213002/) Reason for revert: [Sheriff] Breaks nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20nosnap/builds/2872 Original issue's description: > Wrap runtime.js in a function. > > R=jkummerow@chromium.org > > Committed: https://crrev.com/65c56d49b2d671ac9e379de726bff3eb03a508c1 > Cr-Commit-Position: refs/heads/master@{#28275} TBR=jkummerow@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1123353004 Cr-Commit-Position: refs/heads/master@{#28277}
-
yangguo authored
R=jkummerow@chromium.org Review URL: https://codereview.chromium.org/1126213002 Cr-Commit-Position: refs/heads/master@{#28275}
-
- 05 May, 2015 1 commit
-
-
yangguo authored
TBR=machenbach@chromium.org Review URL: https://codereview.chromium.org/1127693006 Cr-Commit-Position: refs/heads/master@{#28217}
-
- 04 May, 2015 2 commits
-
-
machenbach authored
Revert of Reland "Wrap v8natives.js into a function." (patchset #2 id:20001 of https://codereview.chromium.org/1123703002/) Reason for revert: [Sheriff] Speculative revert for braking arm64 nosnap: http://build.chromium.org/p/client.v8/builders/V8%20Linux%20-%20arm64%20-%20sim%20-%20nosnap%20-%20debug%20-%202/builds/2314 (reverted already titzer's CL which didn't help) Original issue's description: > Reland "Wrap v8natives.js into a function." > > Committed: https://crrev.com/72ab42172979b60a1b784ea0c6a495d7ee2bba67 > Cr-Commit-Position: refs/heads/master@{#28193} TBR=jkummerow@chromium.org,yangguo@chromium.org NOPRESUBMIT=true NOTREECHECKS=true NOTRY=true Review URL: https://codereview.chromium.org/1127543003 Cr-Commit-Position: refs/heads/master@{#28208}
-
yangguo authored
Review URL: https://codereview.chromium.org/1123703002 Cr-Commit-Position: refs/heads/master@{#28193}
-